|
|
|
รบกวนท่านเทพทุกท่านนะครับ ผมหาวิธีเขียนไม่ได้จริงๆๆคับ ถ้ามีอยู่ใน DataGridView แล้วก็ให้บวกเพิ่ม Record นั้น |
|
|
|
|
|
|
|
ไม่มีใครช่วยผมเลย ฮือๆๆๆ
|
|
|
|
|
Date :
2011-09-09 12:47:49 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง? กับคำถามมากกว่า
มีอะไรอยู่ใน GridView ?
|
ประวัติการแก้ไข 2011-09-09 12:56:24
|
|
|
|
Date :
2011-09-09 12:55:51 |
By :
Marcuz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...
|
ประวัติการแก้ไข 2011-09-09 13:03:38
|
|
|
|
Date :
2011-09-09 13:02:58 |
By :
Marcuz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ามีข้อมูลอยู่ใน datagrid แล้วไม่ต้องให้มันเพิ่มแถว แต่เป็นการบวกเพิ่ม ในแถวนั้นเลยคับ
สมุดว่ามี
a 1 250
b 1 300
a 1 250
ผมอยากให้มันทำ ถ้า มี a ใน datagrid ไม่ต้องให้มันเพิ่มแถวเข้าไปให้มันบวกเข้าไปในแถวนันเลย
ให้มันออกมาแบบนี้อะคับ
a 2 500
b 1 300
|
|
|
|
|
Date :
2011-09-09 13:03:03 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำไมออกมาเ็ป็นแบบนี้อะคับ
|
|
|
|
|
Date :
2011-09-09 13:03:41 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็เหมือนการอัพเดทข้อมูลไม่ใช่เหรอครับ
ใส่ข้อมูลแรกเข้าไปได้แล้ว จะบวกเพิ่มก็ไม่น่าจะยาก
หลังจากแก้ไขข้อมูลแล้ว
ก็โหลดข้อมูลล่าสุดขึ้นนมาแสดงใหม่
|
ประวัติการแก้ไข 2011-09-09 13:13:00
|
|
|
|
Date :
2011-09-09 13:11:01 |
By :
Marcuz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ามีข้อมูลอยู่ใน datagrid แล้วไม่ต้องให้มันเพิ่มแถว แต่เป็นการบวกเพิ่ม ในแถวนั้นเลยคับ
สมุดว่ามี
ผมอยากให้มันทำ ถ้า มี a ใน datagrid ไม่ต้องให้มันเพิ่มแถวเข้าไปให้มันบวกเข้าไปในแถวนันเลย
ให้มันออกมาแบบนี้อะคับ
พอมีCode ใหมคับ
|
|
|
|
|
Date :
2011-09-09 13:14:02 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ท่านเทพ บอก หมายถึงให้มันอับเดชในฐานข้อมูลหรอคับ แล้วให้ดึงขึ้นมา Show อีกครั้ง
|
|
|
|
|
Date :
2011-09-09 13:18:50 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ต้องดูวัตถุประสงค์ด้วยล่ะครับ
ว่าต้องการจะทำอะไร
|
|
|
|
|
Date :
2011-09-09 13:21:16 |
By :
Marcuz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือผมยังไม่ได้ บันทึกลงฐานข้อมูลนะคับ
แค่เพิ่มข้อมูลจาก textbox
|
|
|
|
|
Date :
2011-09-09 13:56:05 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนท่านเทพ หน่อยนะคับผมหาวิธีจน ไม่รู้หายังไงแล้ว
|
|
|
|
|
Date :
2011-09-09 14:00:36 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อธิบายใหม่นะคับ ผมสับสน datagrid กับ GridViwe
ผมใช้ GridViwe รับข้อมูลจาก TextBox ถ้าสมุดว่าผมกดปุ่มเพิ่มเข้าไป แถวมันก็จะเพิ่มไปเรื่อยๆๆ เหมือนในรูปด้านล่าง
ผมอยากให้ทำแบบนี้ ถ้า มี a ใน GridViwe ไม่ต้องให้มันเพิ่มแถวเข้าไปให้มันบวกเข้าไปในแถวนันเลย
ให้มันออกมาแบบนี้อะคับ เหมือนในรูปด้านล่าง
ขอบคุณมากคับที่ตอบให้ผม
|
|
|
|
|
Date :
2011-09-09 14:33:08 |
By :
ประเสริฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วทุกวันนี้
เขียนโค้ดเพิ่มข้อมูลใน DataGridView ยังไงล่ะครับ
|
|
|
|
|
Date :
2011-09-09 14:36:19 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
private void textBox3_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys .Enter ){
if(textBox1 .Text .Trim ()==""){
textBox1.Text = "0";
return;
}else if(textBox2 .Text .Trim ()==""){
textBox2.Focus();
return;
}
else if (textBox3.Text.Trim() == "")
{
textBox3.Focus();
return;
}
else
{
sb.Remove(0, sb.Length);
sb.Append("select*from in_goods where fg_code='" + textBox3.Text + "'");
string sqlingoods = sb.ToString();
SqlDataReader dr;
DataTable dt;
com = new SqlCommand(); {
com.CommandType = CommandType.Text;
com.CommandText = sqlingoods;
com.Connection = con;
dr = com.ExecuteReader();
if (dr.HasRows)
{
string ou_code, fg_code, fg_name, u_price, old_price;
int amount = 1;
dt = new DataTable();
dt.Load(dr);
ou_code = dt.Rows[0]["ou_code"].ToString();
fg_code = dt.Rows[0]["fg_code"].ToString();
u_price = dt.Rows[0]["u_price"].ToString();
old_price = dt.Rows[0]["old_price"].ToString();
fg_name = dt.Rows[0]["fg_name"].ToString();
เพิ่มแบบนี้คับ-->
this.dataGridView1.Rows.Add(null,ou_code, fg_code, old_price, u_price, amount, null, fg_name);
}
else {
fmshowsale fmsal = new fmshowsale();
fmsal.ShowDialog();
textBox3.Text = fmsal.getID;
} dr.Close();
}
}
}
}
เพิ่มแบบนี้คับ จะช่วยผมได้ไหมคับ
|
ประวัติการแก้ไข 2011-09-09 14:57:41
|
|
|
|
Date :
2011-09-09 14:42:49 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มีใครตอบเลย จะเสร็จทันไหมนี้ ฮือๆๆๆๆ
|
|
|
|
|
Date :
2011-09-09 15:02:16 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเรียนแต่เบื้องต้นมา ไม่ได้เรียนถึงขนาดนี้ เลยไม่ค่อยจะเข้าใจ เท่าไหร รบกวนช่วยหน่่อยนะครับ
|
|
|
|
|
Date :
2011-09-09 15:04:55 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
string id;
for (int i = 0; i <= dataGridView2.Rows.Count - 1;i++ ) {
id=Convert .ToString (dataGridView1 .Rows [i].Cells[0].Value );
if(ou_code ==id){ <---เช็คเงื่อนไข ถ้ามันตรงกัน
----- > เงื่อนไงตรงนี้ไม่รู้จะใส่ยังไงคับ ให้มันบวกเข้าไปในแถวนั้นเลย โดยไม่ต้องเพิ่มแถว
return;
}
}
this.dataGridView2.Rows.Add(ou_code,amount,u_price);
|
ประวัติการแก้ไข 2011-09-09 15:47:22
|
|
|
|
Date :
2011-09-09 15:44:52 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าคุณเขียนโค้ดมาแนวนี้
ก็ต้องแนะนำแบบนี้แหละ
DataGridView สามารถ Loop ได้
Code (VB.NET)
For Each gvr As DataGridViewRow in dataGridView1.Rows
if gvr.Cells(1).value = somevalue then
End If
Next
ไปแปลงเป็นภาษา C# เองล่ะกันนะขอรับ
|
|
|
|
|
Date :
2011-09-09 15:45:44 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียน Loop เป็นนิ
Code (C#)
string id;
for (int i = 0; i <= dataGridView2.Rows.Count - 1;i++ ) {
id=Convert .ToString (dataGridView1 .Rows [i].Cells[0].Value );
if(ou_code ==id){
// ก็เขียนโค้ด บวกจำนวนตรงนี้ เพื่อหาค่า newvalue
// เนื่องจากคุณเก็บข้อมูลเป็น Text จึงไม่สามารถบวกกันแบบธรรมดาได้
// ต้องแปลงข้อมูลเป็นตัวเลขก่อน แล้วจับมาบวกกัน
dataGridView1.Rows [i].Cells[0].Value = newvalue;
return;
}
}
this.dataGridView2.Rows.Add(ou_code,amount,u_price);
|
|
|
|
|
Date :
2011-09-09 15:50:07 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมไม่เข้าใจตรงนี้คับช่วยอธิบายหน่อยคับ
Code (VB.NET)
if gvr.Cells(1).value = somevalue then
|
|
|
|
|
Date :
2011-09-09 15:51:47 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้หรือปล่าวคับ
Code (C#)
string id;
double newvalue = 0;
for (int i = 0; i <= dataGridView2.Rows.Count - 1; i++)
{
id = Convert.ToString(dataGridView2.Rows[i].Cells[0].Value);
if (ou_code == id)
{
newvalue += Convert.ToDouble(dataGridView2 .Rows [i].Cells [1].Value );
// ก็เขียนโค้ด บวกจำนวนตรงนี้ เพื่อหาค่า newvalue
// เนื่องจากคุณเก็บข้อมูลเป็น Text จึงไม่สามารถบวกกันแบบธรรมดาได้
// ต้องแปลงข้อมูลเป็นตัวเลขก่อน แล้วจับมาบวกกัน
dataGridView2.Rows[i].Cells[1].Value = newvalue;
return;
}
}
มันไม่บวกเพิ่มให้อะคับ
|
ประวัติการแก้ไข 2011-09-09 15:59:16 2011-09-09 16:09:45
|
|
|
|
Date :
2011-09-09 15:57:30 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่ผมเขียน Loop เป็น เกิดจากการต่อยอดเอาเองคับ
อาจารย์แกสอนแค่เบื้องต้นไม่ค่อยเข้าใจเท่าไหร
|
|
|
|
|
Date :
2011-09-09 16:01:43 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
string id;
double newvalue = amount ของค่าที่เราจะบวกเพิ่มกรณี id ซ้ำ; // แก้ตรงนี้
for (int i = 0; i <= dataGridView2.Rows.Count - 1; i++)
{
id = Convert.ToString(dataGridView2.Rows[i].Cells[0].Value);
if (ou_code == id)
{
newvalue += Convert.ToDouble(dataGridView2 .Rows [i].Cells [1].Value );
// ก็เขียนโค้ด บวกจำนวนตรงนี้ เพื่อหาค่า newvalue
// เนื่องจากคุณเก็บข้อมูลเป็น Text จึงไม่สามารถบวกกันแบบธรรมดาได้
// ต้องแปลงข้อมูลเป็นตัวเลขก่อน แล้วจับมาบวกกัน
dataGridView2.Rows[i].Cells[1].Value = newvalue;
return;
}
}
|
|
|
|
|
Date :
2011-09-09 16:22:36 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gvr เทียบเท่ากับ dataGridView2.Rows[i]
ถ้าไม่เข้าใจจุดนี้ ก็ผ่านเรื่องนี้ไปก่อน
|
|
|
|
|
Date :
2011-09-09 16:23:41 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มาเตะบอลกับผม
แล้วจะสอนให้ฟรีๆ
แต่แชร์ค่าสนามกันนะ
|
ประวัติการแก้ไข 2011-09-09 16:25:51 2011-09-09 16:26:14
|
|
|
|
Date :
2011-09-09 16:25:17 |
By :
watcharop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆๆๆ คับ ถ้าไม่ได้ท่านเทพ หางอึ่ง ผมก็คงวนอยู่ในนี้ไปเรื่่องๆๆ ขอบุคุณครับๆๆๆๆ
|
|
|
|
|
Date :
2011-09-09 16:30:50 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็อยากไปเหมือนกันคับ ผมชอบเตะบอลอยู่แล้ว แต่ผมอยู่ไกลคับ
|
|
|
|
|
Date :
2011-09-09 16:32:38 |
By :
Testprogram |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|