2010-06-12 48 views
0
  Employee emp = new Employee(); 
      comHandledBySQt.DataSource = emp.GetDataFromTable("1"); 
      comHandledBySQt.DisplayMember = "FirstName"; 

以上代碼在組合框中顯示員工名字的下拉列表。我想要顯示名字和姓氏。我該怎麼做?使用來自各個列的值通過數據源填充組合框

我試圖包括兩列FirstName和LastName如下,但沒有工作。

comHandledBySQt.DisplayMember = "FirstName" + " " + "LastName"; 

任何幫助將不勝感激。

回答

1

如果您需要立即與數據源進行綁定,您需要爲此創建一個自定義視圖。或者你可以迭代從emp.GetDataFromTable()返回的行,並將每行添加到DropDown中,並使用string.Format()或一些字符串操作。

1

最簡單的方法是選擇一個你想要的值的匿名對象。

Employee emp = new Employee(); 
    comHandledBySQt.DataSource = from x in emp.GetDataFromTable("1") 
        select new { x.Id, Name = x.FirstName + " " + x.LastName }; 
    comHandledBySQt.DisplayMember = "Name"; 
    comHandledBySQt.ValueMember = "Id"; 
+0

我對Linq並不是很熟悉。我得到這個錯誤: 「無法轉換lambda表達式到類型‘串’,因爲它不是一個委託類型」 - 關鍵字選擇成爲藍色 強調,能否請您諮詢。謝謝 – peace 2010-06-12 20:36:39

相關問題