|
|
|
จะย้ายข้อมูลจาก datagridview1 ไปยัง datagridview2 โดยให้เช็คจาก combobox ว่ามีการเช็ดหรือไม่ แต่ติดนิดหน่อยครับ |
|
|
|
|
|
|
|
Code (C#)
private void loaddata() {
DataGridViewCheckBoxColumn colStatus = new DataGridViewCheckBoxColumn();
//column นี้เป็นประเภท CheckBox
colStatus.Name = "Status";
//กำหนดชื่อของ column เอาไว้อ้างอิง
colStatus.HeaderText = "Status";
//ข้อความส่วนหัวของ column
dataGridView1.Columns.Add(colStatus);
SqlConnection db = new SqlConnection(conn);
StringBuilder sb = new StringBuilder();
sb.AppendLine(" SELECT [St_ID] ");
sb.AppendLine(" ,[St_Yard] ");
sb.AppendLine(" FROM [Cust].[dbo].[T_Stock] ");
sb.AppendLine(" WHERE Fab_ID = 1 ");
SqlDataAdapter da = new SqlDataAdapter(sb.ToString(), db);
DataSet ds = new DataSet();
da.Fill(ds, "Cust");
DataSet ds1 = new DataSet();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Cust";
//dataGridView1.Columns["St_ID"].HeaderText = "id";
//dataGridView1.Columns["St_ID"].Width = 0;
//dataGridView1.Columns["St_ID"].DisplayIndex = 0;
//dataGridView1.Columns["St_Yard"].HeaderText = "หลา";
//dataGridView1.Columns["St_Yard"].Width = 100;
//dataGridView1.Columns["St_Yard"].DisplayIndex = 1;
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns["St_Yard"].DefaultCellStyle.Format = "#,###";
}
private void button1_Click(object sender, EventArgs e) {
loaddata();
}
private void button2_Click(object sender, EventArgs e) {
if (dataGridView1.RowCount <= 0)
return;
//วนลูปหา แถวที่ถูกคลิก
foreach (DataGridViewRow r in dataGridView1.Rows) {
//แถวไหนที่ถูก check ให้ไปเพิ่มข้อมูลใน Grid ตัวที่ 2
if (r.Cells["Status"].Value == "True") {
var _with1 = dataGridView2;
int rc = dataGridView2.RowCount;
_with1.Rows.Add();
_with1.Rows[rc].Cells["Status"].Value = r.Cells["Status"].Value;
_with1.Rows[rc].Cells["St_ID"].Value = r.Cells["St_ID"].Value;
_with1.Rows[rc].Cells["St_Yard"].Value = r.Cells["St_Yard"].Value;
}
}
//ลบแถวที่ถูกคลิก
for (int i = dataGridView1.RowCount - 1; i >= 0; i += -1) {
if (dataGridView1.Rows[i].Cells["Status"].Value == "True") {
dataGridView1.Rows.RemoveAt(i);
}
}
}
คือ เมื่อกด button2 จะย้ายข้อมูลจาก datagridview1 ที่มีการ check ย้ายไปยัง datagridview2 อะครับ แต่เหมือนผมเขียนอะไรผิดไปสักอย่าง เมื่อกดแล้วมันไปย้ายไป แถวที่ขึ้นขีดเขียวๆ ผมแปลงมาจาก vb ครับ
Code (VB.NET)
If r.Cells.Item("Status").Value = "True" Then 'แถวไหนที่ถูก check ให้ไปเพิ่มข้อมูลใน Grid ตัวที่ 2
คอลัม Status สร้างตอน pageload นะครับ
คอลัม 2 3 มาจาก database
Tag : .NET, Ms SQL Server 2008, Win (Windows App), C#, VS 2010 (.NET 4.x)
|
|
|
|
|
|
Date :
2011-09-17 19:13:35 |
By :
pro |
View :
1790 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|