2016-04-21 4 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

Предполагаю, что вы пытаетесь заполнить 'grdViewTemporaryFeatures' элементами в' ListBoxFeatures'. Есть ли в элементе '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(); 
     } 
Смежные вопросы