|
|
|
ใช้c# vb.net 2012 ขอวิธีเปรียบเทียบข้อมูลใน gridview แล้วเพิ่ม column ใหม่พร้อมใส่ข้อมูลด้วยครับ |
|
|
|
|
|
|
|
ลองดักจับตรง CellValueChanged ดูครับ
|
|
|
|
|
Date :
2019-06-26 09:22:33 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใครพอมีโค้ดตัวอย่างบ้างครับขอหน่อย
|
|
|
|
|
Date :
2019-06-26 14:12:29 |
By :
sakkapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองประมาณนี้ดูก่อนนะครับ
|
|
|
|
|
Date :
2019-06-26 15:16:29 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฟ้องแบบนี้ครับใน sql ผม มี ข้อมูลตามนี้พอโหลดให้เพิ่ม combobox 3 columns แล้วค่อย save ไป ตารางใหม่ทั้งหมดที่แสดงบน gridview
|
|
|
|
|
Date :
2019-06-26 16:08:25 |
By :
sakkapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตามรูปแนบผมจะเปรียบเทียบ column 4 กับ column 5 ครับ
3 กับ 4 ผมก็ลองใส่แล้วยัง Error เหมือนเดิมครับ
|
|
|
|
|
Date :
2019-06-27 08:17:05 |
By :
sakkapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
column เข้า นับดูแล้วคือ 4
column ออก คือ 5
ถ้ามีการ click แล้ว ข้อมูล column 4 = รถตัวเอง และ ข้อมูล column 5 = รถตัวเอง ให้ column 6 มีค่าเท่ากับเลข 20
*column เข้าและออกผมกำหนดให้เป็น combobox แบบตัวเลือกครับ
|
|
|
|
|
Date :
2019-06-27 09:07:44 |
By :
sakkapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้ว เปลี่ยนเป็นแบบนี้ครับ
เมื่อโหลดข้อมูลจาก sql มาแสดงบน gridview แล้วให้เพิ่ม 3 column โดยที่ column เข้า และออก ผมกำหนดให้เป็นตัวเลือกแบบ combobox สำหรับ column ที่ 3 ผมกำหนดให้เป็น textbox
Code (C#)
void combodgv2()
{
DataGridViewComboBoxColumn dgvCmb = new DataGridViewComboBoxColumn();
dgvCmb.HeaderText = "เข้า";
dgvCmb.Items.Add("รถตัวเอง");
dgvCmb.Items.Add("รถบริษัท");
dgvCmb.DisplayIndex = 5;
dgvCmb.Name = "cmbName";
dgv2.Columns.Add(dgvCmb);
DataGridViewComboBoxColumn dgvCmb1 = new DataGridViewComboBoxColumn();
dgvCmb1.HeaderText = "ออก";
dgvCmb1.Items.Add("รถตัวเอง");
dgvCmb1.Items.Add("รถบริษัท");
dgvCmb1.DisplayIndex = 6;
dgvCmb1.Name = "cmbName1";
dgv2.Columns.Add(dgvCmb1);
DataGridViewTextBoxColumn dgvCmb2 = new DataGridViewTextBoxColumn();
dgvCmb2.HeaderText = "จำนวน";
dgvCmb2.DisplayIndex = 7;
dgvCmb2.Name = "cmbName2";
dgv2.Columns.Add(dgvCmb2);
}
เมื่อคลิ๊ก button แล้วให้ทำการเปลี่ยบเทียบ column เข้า และออก และใส่ผลลัพธ์ของการเปรียบเทียบไว้ column สุดท้าย
Code (C#)
private void button7_Click(object sender, EventArgs e)
{
string d1;
string d2;
for (int i = 0; i < dgv2.RowCount - 1; i++)
{
d1 = Convert.ToString(dgv2.Rows[i].Cells[5].Value);
d2 = Convert.ToString(dgv2.Rows[i].Cells[6].Value);
if (d1 == "รถตัวเอง" && d2 == "รถตัวเอง")
{
dgv2.Rows[i].Cells[7].Value = "20";
}
else if (d1 == "รถตัวเอง" && d2 == "รถบริษัท")
{
dgv2.Rows[i].Cells[7].Value = "10";
}
else if (d1 == "รถบริษัท" && d2 == "รถบริษัท")
{
dgv2.Rows[i].Cells[7].Value = "10";
}
else if (d1 == "รถบริษัท" && d2 == "รถตัวเอง")
{
dgv2.Rows[i].Cells[7].Value = "10";
}
else
{
dgv2.Rows[i].Cells[7].Value = "-";
}
}
}
|
|
|
|
|
Date :
2019-06-27 12:03:57 |
By :
sakkapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะเขียนใน CellValueChanged หรือ CellEndDit จะเหมาะกว่านะครับ
แถมไม่ต้องมา Loop เพื่อหาค่าด้วยครับ
ลองเอาไปปรับใช้ดูครับว่ามันใช้ได้ไม๊
|
|
|
|
|
Date :
2019-06-27 12:42:41 |
By :
lamaka.tor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|