2016-02-19 23 views
0

我已经学会了在我校学习指南这个LINQ代码,但他们不告诉我们在文本框中只有我们使用数据绑定属性,但我需要使用LINQ代码,而不是像我有组合框的数据进行显示。我怎样才能使用LINQ获取我的本地数据库数据以填充我的txt框?

public partial class Students : Form 
{ 

    LINQDataClasses1DataContext DB = new LINQDataClasses1DataContext(); 
    public Students() 
    { 
     InitializeComponent(); 
    } 

    private void Students_Load(object sender, EventArgs e) 
    { 
     //Retrieving data from datbaser using LINQ class convert it to list students ID's 
     var StudentIDs = (from c in DB.Students select c).ToList(); 
     var STudentName = (from c in DB.Students select c).ToString(); 

     //bind the Student ID combo box to database 
     cmbSTID.DataSource = StudentIDs; 

     //Databinding setup for the Student ID combo box 
     cmbSTID.DisplayMember = "SID"; 
     cmbSTID.ValueMember = "SID"; 
     cmbSTID.DataSource = StudentIDs; 
+0

你能否澄清你想要什么,实现什么到底是你的问题? –

+0

也,你为什么设置数据源两次? – Kathi

+0

对不起,我忘了删除第二个数据源。 –

回答

1

据我可以理解,在你的代码中StudentIDs = StudentName,它不是学生的ID列表,也不是学生姓名列表,而是学生列表。让我们说,你需要在一个文本框来显示第一个学生的名字,然后尝试smthing像textBoxName.Text = StudentIDs.First().Name

+0

这作品,但它是什么,是我有一个学生在组合框中的顶部的学生ID和其余的使用文本框,如名字姓和地址等,当我使用学生ID组合框我选择它需要填写我的文本框,在combobox.ItemChanged使用LINQ –

+0

()事件的正确数据的学生ID号,选择与选择的ID学生喜欢VAR学生= DB.Students.First(S =>取值.SID = combobox.Value);然后分配给你的这个学生的文本框值:textBoxFirstName.Text = student.Name; textBoxLastName.Text = student.Surname;等等 – VDN

+0

真棒谢谢堆VDN –

0

我不知道你的Student类是什么,所以我只能猜测它看起来像这样:

public class Student 
{ 
    public long SID { get; set; } 
    public string Name { get; set; } 
} 

解决方法很简单:

private void Students_Load(object sender, EventArgs e) 
{ 
    //Retrieving data from datbaser using LINQ class convert it to list students ID's 
    var studentsList = DB.Students.ToList(); 

    //Databinding setup for the Student ID combo box 
    cmbSTID.DisplayMember = "Name"; //Field name in Student class 
    cmbSTID.ValueMember = "SID"; //Field name in Student class 
    cmbSTID.DataSource = StudentIDs; 
} 
相关问题