2016-02-19 58 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; 
} 
相關問題