Я пытаюсь добавить новую строку в мой DataTable
, а затем привязать ее к GridView
(Inquiries
) каждый раз, когда я нажимаю кнопку. Строка добавляется, когда я нажимаю кнопку в первый раз. но когда я пытаюсь добавить еще одну строку, щелкнув ее снова, она заменит существующую строку.Как добавить новую строку в DataTable под существующими строками
protected void addInquiry_Click(object sender, EventArgs e)
{
try
{
Quantity = QuantityTxt.Text;
string Details = Request.Form[Products.UniqueID];
SelectedProduct = Details.Split('!');
ProductNo = SelectedProduct[0];
ProductDescription = SelectedProduct[1];
ProductSapPack = SelectedProduct[2];
ProductID = SelectedProduct[3];
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[5] {
new DataColumn("ProductID",typeof(int)),
new DataColumn("ProductNo", typeof(string)),
new DataColumn("Description", typeof(string)),
new DataColumn("SapPack",typeof(string)),
new DataColumn("Quantity",typeof(string)),
});
DataRow dr = dt.NewRow();
dr[0] = ProductID;
dr[1] = ProductNo;
dr[2] = ProductDescription;
dr[3] = ProductSapPack;
dr[4] = Quantity;
dt.Rows.Add(dr);
Inquiries.DataSource = dt;
Inquiries.DataBind();
}
finally
{
QuantityTxt.Text = String.Empty;
Description.Text = String.Empty;
SapPack.Text = String.Empty;
Products.Text = String.Empty;
}
}
Каждый раз, когда вы нажимаете на кнопку, вы создаете новый 'DataTable'. Так что на самом деле это не обновление старой строки, а создание нового каждый раз. –
Так что я должен создать экземпляр DataTable вне события Click? –
@RahulSingh Я создаю экземпляр DataTable вне события click, но он по-прежнему заменяет мою оригинальную строку! –