|
|
|
ต้องการ ข้อมูล จาก GridView ที่ 1 มาโชว์ใน GridView ที่ 2 ค่ะ Asp.Net C# |
|
|
|
|
|
|
|
ลองสร้างเป็น DataTable แล้วค่อยนำไปแสดงผลใน GridView 2 ครับ
Code (C#)
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);
// dt; //*** Use DataTable ***//
|
|
|
|
|
Date :
2013-01-04 06:26:37 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจ ค่ะ ถ้าทำตารางแบบนั้น แล้วทำอย่างไรต่อค่ะ
|
|
|
|
|
Date :
2013-01-04 17:10:43 |
By :
mushroomsn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พวก GridView ตัว DataSource มาจากไหนครับ ถ้ามาจาก Database น่าจะทำตั้งแต่ขั้นตอน Query ได้ครับ
|
|
|
|
|
Date :
2013-01-04 17:12:30 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตามพี่วินครับ ไม่ทราบว่า source มาจากไหน !
แต่จากที่ดูแล้วน่าจะไม่ใช่มีแค่ "Pen" อยากเดียว แน่นอน ดังนั้น ค้นหาจาก "Name" ครับ
ถ้าชื่อซ้ำกันให้เอาจำนวนมารวมกัน ส่วนลำดับก็ .count เอาครับ
|
|
|
|
|
Date :
2013-01-05 10:44:45 |
By :
มั่วไปเรื่อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ guest ค่ะ
price จะต้องนำมาคำนวณ แยกคิดค่ะ ซึ่งสูตรคิดจะต่างกันค่ะ เลย คิดแยกที่ gridview ที่ 1 ค่ะ
พอได้ price มาแล้ว นำ price รวมกัน มาใส่ ที่ gridview 2 ค่ะ
ถ้าชื่อ ที่ gridview ที่ 1 กับ ที่ gridview 2 ชื่อเดียวกัน นำราคา price ที่เรารวม มาใส่ ที่ gridview 2 ค่ะ
ขอบคุณนะค่ะ
|
ประวัติการแก้ไข 2013-01-07 12:02:34 2013-01-07 12:02:52
|
|
|
|
Date :
2013-01-07 11:20:08 |
By :
mushroomsn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สร้าง DataTable มาเก็บข้อมูลตามที่พี่วินแนะนำไว้ก่อนครับ
Code (C#)
private DataRow tmp_drTest;
private DataTable tmp_dttTest;
private DataTable aGetTest()
{
tmp_dttTest = new DataTable();
DataColumn tmp_dtc0 = new DataColumn("name", typeof(string));
DataColumn tmp_dtc1 = new DataColumn("price", typeof(string));
tmp_dttTest.Columns.Add(tmp_dtc0);
tmp_dttTest.Columns.Add(tmp_dtc1);
DataRow tmp_dtr;
tmp_dtr = tmp_dttTest.NewRow();
return tmp_dttTest;
}
ส่วน code ตามนี้ครับ ลองไปปรับใช้ดูครับ
Code (C#)
aGetTest(); //เรียก DataTable ที่สร้างไว้ครับ
int rowcount = GridView1.Rows.Count;
string old = "";
int oldsum = 0;
int oldIndex = 0;
for (int i = 0; i < rowcount; i++)
{
GridViewRow gr = GridView1.Rows[i];
Label lblName = (Label)gr.FindControl("lblName");
Label lblPrice = (Label)gr.FindControl("lblPrice");
if (lblName.Text.Trim() != old)
{
tmp_drTest = tmp_dttTest.NewRow();
tmp_drTest["name"] = lblName.Text;
tmp_drTest["price"] = lblPrice.Text;
tmp_dttTest.Rows.Add(tmp_drTest);
oldsum = Convert.ToInt32(lblPrice.Text);
oldIndex = i;
}
else if (lblName.Text.Trim() == old)
{
oldsum = Convert.ToInt32(lblPrice.Text) + oldsum;
tmp_dttTest.Rows[oldIndex].BeginEdit();
tmp_dttTest.Rows[oldIndex]["price"] = oldsum;
tmp_dttTest.Rows[oldIndex].EndEdit();
tmp_dttTest.Rows[oldIndex].AcceptChanges();
}
old = lblName.Text.Trim();
}
GridView2.DataSource = tmp_dttTest;
GridView2.DataBind();
ลองดูนะครับ
|
ประวัติการแก้ไข 2013-01-07 14:05:19
|
|
|
|
Date :
2013-01-07 14:03:54 |
By :
Niratiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ ค่ะ
ถ้า เราต้องการ sum ใน gridview1 แยกประเภทหละค่ะ
เช่น
ลำดับ ชื่อ ราคา type ราคารวม
1 pen 12 1 25
2 pen 13 2 25
3 Eraser 10 1 21
4 Eraser 11 2 21
จะคิด ราคา รวม แยกประเภท ตาม ชื่อ อย่างไรค่ะ
|
|
|
|
|
Date :
2013-01-08 10:26:28 |
By :
guest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|