2014-01-25 49 views
0

當添加按鈕被點擊第二次時,存在被認爲是所述GridView(在第一行中的數據行的兩行結合時是第一點擊第二行是新添加的數據)。但是隻有一個數據行。無法在GridView顯示兩個或更多個數據行與List

List<DonationReceivedItem> drList = new List<DonationReceivedItem>(); 

protected void lbnAdd_Click(object sender, EventArgs e) 
     { 
     DonationReceivedItem temp = new DonationReceivedItem(); 
       temp.donation = dID; 
       temp.productVariant = gvSelectVairant.SelectedRow.Cells[1].Text; 
       temp.productQuantity = tbQuantity.Text; 
       temp.isDistributed = "0"; 
       drList.Add(temp); 
       gvNonExpired.DataSource = drList; 
       gvNonExpired.DataBind(); 
    } 
+0

您的代碼僅將一條記錄添加到綁定到網格的列表中。那麼當你嘗試向列表添加第二條記錄時會發生什麼? –

+0

第二條記錄會替換第一條記錄。 – Andrew

回答

0

嘗試更改下面的代碼:

DonationReceivedItem temp = new DonationReceivedItem(); 
      temp.donation = dID; 
      temp.productVariant = gvSelectVairant.SelectedRow.Cells[1].Text; 
      temp.productQuantity = tbQuantity.Text; 
      temp.isDistributed = "0"; 
      drList.Add(temp); 
      gvNonExpired.DataSource = drList; 
      gvNonExpired.DataBind(); 

到:

DonationReceivedItem temp = new DonationReceivedItem(); 
      drList = gvNonExpired.DataSource; 
      temp.donation = dID; 
      temp.productVariant = gvSelectVairant.SelectedRow.Cells[1].Text; 
      temp.productQuantity = tbQuantity.Text; 
      temp.isDistributed = "0"; 
      drList.Add(temp); 
      gvNonExpired.DataSource = drList; 
      gvNonExpired.DataBind(); 

看看是否有差別:)

因爲你正在創建一個新的列表,你是抹掉以前的數據。首先用舊數據實例化列表,然後添加新數據。

+0

我有這個問題drList = gvNonExpired.DataSource;我不能轉換對象 – Andrew

+0

你試過把它聲明爲「var」嗎? – Heberda

相關問題