Вставка данных из формы ASP.Net в таблицу данных
Я знаю, что большинство из вас скажет Google это. Но я уже сделал это и до сих пор не могу понять, почему при нажатии кнопки события данные все равно не будут вставлены в таблицу данных. Игнорировать сами данные, это случайно.
Любая помощь будет принята с благодарностью.
public void btnAddRow_Click(object sender, EventArgs e)
{
DataSet ds = (DataSet)(Session["DS"]);
TestGrid.DataSource = ds.Tables[0];
ds.Tables[0].Rows.Add();
DataTable dt = (DataTable)(Session["DT"]);
DataRow dr = null;
dr = dt.NewRow();
//add values to each rows
dr["Title"] = txtTitle.Text;
dr["Year"] = txtYear.Text;
dr["Type"] = txtType.Text;
dr["Lead Actor"] = txtLeadActor.Text;
dr["Producer"] = txtProducer.Text;
dr["Director"] = txtDirector.Text;
dt.Rows.Add(dr);
TestGrid.DataSource = dt;
TestGrid.DataBind();
}
private void SetInitialRow()
{
DataTable dt = new DataTable();
DataRow dr = null;
Session["DT"] = dt;
//define the columns
dt.Columns.Add(new DataColumn("Title", typeof(string)));
dt.Columns.Add(new DataColumn("Year", typeof(string)));
dt.Columns.Add(new DataColumn("Type", typeof(string)));
dt.Columns.Add(new DataColumn("Lead Actor", typeof(string)));
dt.Columns.Add(new DataColumn("Producer", typeof(string)));
dt.Columns.Add(new DataColumn("Director", typeof(string)));
//create new row
dr = dt.NewRow();
//add values to each rows
dr["Title"] = "Blade";
dr["Year"] = "1989";
dr["Type"] = "Action";
dr["Lead Actor"] = "Wesley Snipes";
dr["Producer"] = "Guy";
dr["Director"] = "Dude";
//add the row to DataTable
dt.Rows.Add(dr);
TestGrid.DataSource = dt;
TestGrid.DataBind();
}
1 ответ
Решение
Код выглядит правильно.
DataTable _table = new DataTable()
DataRow _row = _table.NewRow()
_table.Rows.Add(_row)
Я думаю, что это может быть ваш постбэк. Поместите точку останова после Rows.Add(_row) и убедитесь, что в datatable есть данные. Я думаю, что данные удаляются при обратной передаче / загрузке страницы.