2012-01-10 57 views
3

我有一個會話對象,其中包含我的上一頁中的DataTable, ,我想將此DataTable綁定到ListBox。如何將一個ListBox從會話對象綁定到DataTable?

心中已經做到了這一點:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     if (Session["bestStocks"] !=null) 
     { 
      DataTable dt = new DataTable(); 


      dt = (DataTable)Session["bestStocks"]; 

      DataView dv = new DataView(dt); 
      BestStockslb.DataSource = dt; 
      BestStockslb.DataBind(); 
     } 
    } 
} 

我得到這樣的結果:

enter image description here

什麼建議嗎?

感謝, liron

回答

3

看來你已經忘了DataTextField和DataValueField

dt = (DataTable)Session["bestStocks"]; 

DataView dv = new DataView(dt); 
BestStockslb.DataSource = dt; 
BestStockslb.DataTextField = "Name"; 
BestStockslb.DataValueField = "ID"; 
BestStockslb.DataBind(); 
2

改變這一行:

BestStockslb.DataSource = dt; 

要:

BestStockslb.DataSource = dt.DefaultView; 

而且你還需要設置的BestStockslb的DataTextField和DataValueField屬性鏈接到所需要的返回數據中的字段。這就是您獲取DataRowView輸出的原因。

您也可以刪除DataView dv = new DataView(dt);,因爲它看起來像你沒有使用它。

相關問題