|
|
|
ทำไมเมื่อ Add ข้อมูลจาก Textbox ไปใส่ GridView แล้วข้อมูลที่เพิ่มเข้าไปใหม่ ไปทับข้อมูลเดิมค่ะ |
|
|
|
|
|
|
|
ตอนที่ลอง ดีบัก ดู เมื่อกด add
ภายใน dtb ก้มีค่าของข้อมูลที่เพิ่มไปตอนนั้น คือ 1 row
แต่เมื่อกดเพิ่มเข้าไปอีก ภายใน dtb ก้เอาค่าใหม่มาแทนที่ค่าเดิมที่มีอยู่
ก้เลยงง อ่าค่ะ ว่าทำไมถึงไม่เพิ่มแถวใหม่ให้ ทั้งๆที่ มี.Newrows แล้ว
|
|
|
|
|
Date :
2011-06-06 13:11:17 |
By :
ling-keaw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูตัวอย่างการเพิ่มน่ะครับ
Code (C#)
//*** TableRows (DataTable) ***//
protected DataTable DataTableRows()
{
DataTable dt = new DataTable();
DataRow dr;
//*** Column ***//
dt.Columns.Add("CustomerID");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("CountryCode");
dt.Columns.Add("Budget");
dt.Columns.Add("Used");
//*** Rows ***//
dr = dt.NewRow();
dr["CustomerID"] = "C001";
dr["Name"] = "Win Weerachai";
dr["Email"] = "[email protected]";
dr["CountryCode"] = "TH";
dr["Budget"] = "1000000";
dr["Used"] = "600000";
dt.Rows.Add(dr);
//*** Rows ***//
dr = dt.NewRow();
dr["CustomerID"] = "C002";
dr["Name"] = "John Smith";
dr["Email"] = "[email protected]";
dr["CountryCode"] = "EN";
dr["Budget"] = "2000000";
dr["Used"] = "800000";
dt.Rows.Add(dr);
//*** Rows ***//
dr = dt.NewRow();
dr["CustomerID"] = "C003";
dr["Name"] = "Jame Born";
dr["Email"] = "[email protected]";
dr["CountryCode"] = "US";
dr["Budget"] = "3000000";
dr["Used"] = "600000";
dt.Rows.Add(dr);
//*** Rows ***//
dr = dt.NewRow();
dr["CustomerID"] = "C004";
dr["Name"] = "Chalee Angel";
dr["Email"] = "[email protected]";
dr["CountryCode"] = "US";
dr["Budget"] = "4000000";
dr["Used"] = "100000";
dt.Rows.Add(dr);
return dt; //*** Return DataTable ***//
}
ขอวิธีการเอาข้อมูลจาก gridview ลงไปอีกตารางหนึ่งหน่อยครับ
|
|
|
|
|
Date :
2011-06-06 17:39:46 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วค่ะ
น้องเก็บค่า datatable ล่าสุด ไว้ใน session แล้วให้มันbind ข้อมูลจาก datatable ที่เก็บใน sessionนั้น
Code (C#)
DataTable dtb = new DataTable();
DataRow dr = null;
dtb.Columns.Add(new DataColumn("index", typeof(int)));
dtb.Columns.Add(new DataColumn("Description", typeof(string)));
dtb.Columns.Add(new DataColumn("Quantity", typeof(int)));
dtb.Columns.Add(new DataColumn("Unit", typeof(decimal)));
dtb.Columns.Add(new DataColumn("Amount", typeof(decimal)));
if (Session["table"] != null)
{
dtb = Session["table"] as DataTable;
dr = dtb.NewRow();
dr["Description"] = textDescrip.Text.ToString();
dr["Quantity"] = textQuantity.Text.ToString();
dr["Unit"] = textUnit.Text.ToString();
dr["Amount"] = (Convert.ToInt32(textQuantity.Text)) * (Convert.ToDecimal(textUnit.Text));
dtb.Rows.Add(dr);
Session["table"] = dtb;
}
else
{
dr = dtb.NewRow();
dr["Description"] = textDescrip.Text.ToString();
dr["Quantity"] = textQuantity.Text.ToString();
dr["Unit"] = textUnit.Text.ToString();
dr["Amount"] = (Convert.ToInt32(textQuantity.Text)) * (Convert.ToDecimal(textUnit.Text));
dtb.Rows.Add(dr);
Session["table"] = dtb;
}
gvBillingcard.DataSource = dtb;
gvBillingcard.DataBind();
|
|
|
|
|
Date :
2011-06-07 21:55:43 |
By :
ling-keaw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|