مشکل در ساخت جدول
سوال
با استفاده از تکه کد زیر میخوام هر بار روی دکمه کلیک شد یه سطر جدید به گریدویو اضاف بشه اما مشکلی که داره هربار که کلیک میکنم فقط یک سطر درست میکنه و بار بعدی هم روی سطر قبلی جایگزین میکنید و سطر جدید درست نمیکنید
ataTable dt = new DataTable();
DataRow dr = null;
dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
dt.Columns.Add(new DataColumn("Column1", typeof(string)));//for TextBox value
dt.Columns.Add(new DataColumn("Column2", typeof(string)));//for TextBox value
dr = dt.NewRow();
dr["RowNumber"] =1;
dr["Column1"] = TextBox1.Text;
dr["Column2"] = TextBox2.Text;
dt.Rows.Add(dr);
//Store the DataTable in ViewState for future reference
ViewState["CurrentTable"] = dt;
//Bind the Gridview
Gridview1.DataSource = dt;
Gridview1.DataBind();
پاسخ ها (6)
پنجشنبه,7 شهریور 1398
سلام
باید برنامه رو بدید دقیق تر بررسی کنم ولی چیزی که من اینجا میبینم اینه که شما مقدار ["RowNumber"] برابر با 1 قرار دادید و به این خاطر هست که با هربار اجرا سطر 1 انتخاب میشه و حذف میشه و مقدار دیگه جاگزینش میشه میبایست ["RowNumber"] برابر با آخرین سطر جدول قرار دهید تا اونجا اضافه بشه
پروژه از لینک زیر دانلود کنید و بررسی نمایید
لینک1
لینک2
http://s5.picofile.com/file/8370852726/WebSite2.zip.html
s5.picofile.com/d/8370852726/5a548c2e-545a-4a97-b81a-dab6a1a4a4da/WebSite2.zip
پنجشنبه,7 شهریور 1398
موردی که خدمتتون عرض کردم رو بررسی کردید؟
اره اما بازم نتونستم لطفا پروژه یه نگاهی بهش بندازین
در اینجا نمونه کد هست برای افزودن سطر ، در نهایت شما باید حل مساله یاد بگیرید نه اینکه کد آماده به شما داده بشه
private void AddNewRowToGrid()
{
int rowIndex = 0;
if (ViewState["CurrentTable"] != null)
{
DataTable dtCurrentTable = (DataTable)ViewState["CurrentTable"];
DataRow drCurrentRow = null;
if (dtCurrentTable.Rows.Count > 0)
{
for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
{
drCurrentRow = dtCurrentTable.NewRow();
drCurrentRow["SlNo"] = i + 1;
dtCurrentTable.Rows[i - 1]["ReceiptNo"] = txtRcptHdNo.Text;
dtCurrentTable.Rows[i - 1]["ItemName"] = ddlRcptDtlsItem.SelectedItem.Text;
dtCurrentTable.Rows[i - 1]["UOM"] = txtRcptDtlsUOM.Text;
dtCurrentTable.Rows[i - 1]["Description"] = txtRcptDtlsDescr.Text;
dtCurrentTable.Rows[i - 1]["Rate"] = txtRcptDtlsRt.Text;
dtCurrentTable.Rows[i - 1]["Quatity"] = txtRcptDtlsQty.Text;
dtCurrentTable.Rows[i - 1]["Amount"] = txtRcptDtlsAmount.Text;
rowIndex++;
}
dtCurrentTable.Rows.Add(drCurrentRow);
ViewState["CurrentTable"] = dtCurrentTable;
dgvRcptDtls.DataSource = dtCurrentTable;
dgvRcptDtls.DataBind();
}
}
else
{
Response.Write("ViewState is null");
}
//Set Previous Data on Postbacks
SetPreviousData();
}
:لینک صفحه ای که من کد رو ازش برداشتم
https://www.codeproject.com/Questions/670856/how-to-add-new-row-and-new-values-in-gridview-in-a