Не удается привязать DataTable к GridView

Привет, ребята, я только начал программировать и столкнулся с проблемой. Созданная мной новая таблица данных не отображается в GridView2 при нажатии кнопки 1. Хотя он заполняется данными из таблицы «планирование» (проверено, что dtPlanning заполнен текстовыми полями в комментарии).

Итак, вкратце: я хочу получить планирование DataTable в новый DataTable dtPlanning и отобразить его в виде сетки.

Код позади:

protected void Button1_Click(object sender, EventArgs e)
{
    DataTable dtPlanning = new DataTable();
    dtPlanning.Columns.Add("Courseday", typeof(int));
    dtPlanning.Columns.Add("Part", typeof(string));
    dtPlanning.Columns.Add("Design", typeof(string));
    dtPlanning.Columns.Add("Lesson", typeof(string));

    //DataRow dr = planning.Rows[1];  
    //TextBox2.Text = (dr["Daynumber"]).ToString();
    //TextBox3.Text = (dr["Part"]).ToString();
    //TextBox4.Text = (dr["Design"]).ToString();
    //TextBox5.Text = (dr["Lesson"]).ToString();

    for (int i = 0; i < dtPlanning.Rows.Count; i++)
    {
        DataRow dr = dtPlanning.NewRow();
        foreach (DataRow datarow in planning.Rows)
        {
            dtPlanning.Rows.Add(datarow);
        }
    }
    GridView2.DataSource = dtPlanning;
    GridView2.DataBind();
}

Исходный код:

<asp:GridView ID="GridView2" runat="server">

Спасибо за помощь.


person Dave    schedule 17.10.2012    source источник
comment
dtPlanning пуст, за исключением того, что это не весь ваш код   -  person codingbiz    schedule 17.10.2012
comment
Проверить планирование. Количество строк и данные   -  person andy    schedule 17.10.2012
comment
чего вы хотите этим добиться?   -  person codingbiz    schedule 17.10.2012


Ответы (2)


По логике, dtPlanning.Rows.Count = 0, потому что эта таблица только что инициализирована! Во-вторых, нельзя Add строку из одной таблицы в другую, пользователь Import

for (int i = 0; i < planning.Rows.Count; i++)
{
    dtPlanning.ImportRow(planning.Rows[i]);
}

Интересно, почему бы вам просто не использовать таблицу planning?

person Kent    schedule 17.10.2012
comment
Потому что я хочу добавить больше строк и контрольных функций, чтобы создать совершенно новую таблицу. Я использую только информацию внутри таблицы планирования. - person Dave; 17.10.2012

Ты должен:

  1. Добавить в DataSet новую таблицу данных
  2. Добавить в DataTable новые столбцы
  3. И GridView2.DataSource=YourNameDataSet.Tables[index_of_DataTable_in_DataSet].DefaultView;
person Sashko    schedule 17.10.2012