-

مشکل در ساخت جدول

با استفاده از تکه کد زیر میخوام هر بار روی دکمه کلیک شد یه سطر جدید به گریدویو اضاف بشه اما مشکلی که داره هربار که کلیک میکنم فقط یک سطر درست میکنه و بار بعدی هم روی سطر قبلی جایگزین میکنید و سطر جدید درست نمیکنید

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();

1106 بازدید | 0 پاسخ | ۱۳۹۸/۰۶/۰۷ ۱۲:۱۴
پرسیده شده توسط
ابوالفضل احمدی
ابوالفضل احمدی
۱۳۹۸/۰۶/۰۷ ۱۲:۱۴

پاسخ‌ها

6
-

سلام

باید برنامه رو بدید دقیق تر بررسی کنم ولی چیزی که من اینجا میبینم اینه که شما مقدار ["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

-

موردی که خدمتتون عرض کردم رو بررسی کردید؟

۱۳۹۸/۰۶/۰۷ ۱۴:۳۱
حسین حیاتیحسین حیاتی
-

اره اما بازم نتونستم لطفا پروژه یه نگاهی بهش بندازین

۱۳۹۸/۰۶/۰۷ ۱۴:۴۰
ابوالفضل احمدیابوالفضل احمدی
حسین حیاتی
۱۳۹۸/۰۶/۰۷ ۱۴:۴۹

در اینجا نمونه کد هست برای افزودن سطر ، در نهایت شما باید حل مساله یاد بگیرید نه اینکه کد آماده به شما داده بشه


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

برای ارسال پاسخ وارد شوید

برای مشارکت در بحث و ارسال پاسخ، لطفا وارد حساب کاربری خود شوید.