2016-04-21 75 views
0

我已经填充listBox数据并将其分配给gridview,但它没有。我通过将列表的计数设置为变量进行验证,它显示3,完美但在将其分配给gridview后,gridview的计数显示为0.为什么?为什么不将listbox分配给gridview?

protected void btnShowTempFeatures_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      int count = ListBoxFeatures.Items.Count; //returns 3 
      grdViewTemporaryFeatures.DataSource = ListBoxFeatures.DataSource; 
      grdViewTemporaryFeatures.DataBind(); 

      int CountGrid= grdViewTemporaryFeatures.Rows.Count; //return 0 


        } 

} 
+2

不,你不能只是做'grdViewTemporaryFeatures.DataSource = ListBoxFeatures.DataSource;'。您需要分配实际的数据源。 – Bikee

+0

我从它删除了数据源,但仍然没有运气 – Cuckoo

+1

我假设你正试图用'ListBoxFeatures'中的项来填充'grdViewTemporaryFeatures'。你的'ListBoxFeatures'是否有项目?如果是的话,你如何绑定'ListBoxFeatures'? – Bikee

回答

1

解决

protected void btnShowTempFeatures_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      int count = ListBoxFeatures.Items.Count; 
      //grdViewTemporaryFeatures.DataSource = ListBoxFeatures.DataSource; 
      //grdViewTemporaryFeatures.DataBind(); 

      int CountGrid= grdViewTemporaryFeatures.Rows.Count; 

      ListItemCollection lstTempFeatures = ListBoxFeatures.Items; 

      DataTable dTempFeatures = new DataTable(); 
      dTempFeatures.Columns.Add("ID"); 
      dTempFeatures.Columns.Add("FeatureName"); 

      foreach (ListItem lstItem in lstTempFeatures) 
      { 
       DataRow dr = dTempFeatures.NewRow(); 
       dr["ID"]= lstItem.Value; 
       dr["FeatureName"] = lstItem.Text; 

       dTempFeatures.Rows.Add(dr); 
      } 

      grdViewTemporaryFeatures.DataSource = dTempFeatures; 
      grdViewTemporaryFeatures.DataBind(); 

      mdlTemporaryFeatures.Show(); 
     } 
相关问题