判断即将插入的新的一行的第二个列的值是否和当前DaTaGridView中的每行的第二列的值是否相同,相同则删除该行,然后插入新的这列。~~~~注意是行哦,不是列 |
|
遍历一下呗
DaTaGridView如果绑定了DataTable,你可以直接执行DataTable.Rows.RemoveAt(n) |
|
取数据源,判断数据源中是否包含,包含删除,重新插入 再绑定。
|
|
20分 |
private void Input(string param1, string param2) { if (dataGridView1.DataSource == null) { DataGridViewRow row = dataGridView1.Rows.Cast<DataGridViewRow>() .FirstOrDefault(r => r.Cells[1].EditedFormattedValue.Equals(param2)); if (row != null) dataGridView1.Rows.Remove(row); dataGridView1.Rows.Add(param1, param2); } else { DataTable dt = (DataTable)dataGridView1.DataSource; DataRow row = dt.Rows.Cast<DataRow>() .FirstOrDefault(r => r[1].Equals(param2)); if (row != null) dt.Rows.Remove(row); dt.Rows.Add(param1, param2); } } |
恩,蛮好的,但是如果我想在家第三个列,它是buttoncell,怎么加 |
|
这个也差不多 |
|
dataGridView1.DataSource = dt;额,好像不好加buttoncell吧,datagridview.Rows.add()加不上buttoncell
|
|
public void add(string a, string b, string c, DateTime d) {DataGridViewButtonCell e = new DataGridViewButtonCell(); if (dataGridView1.DataSource == null)//没有数据源的解决办法 { DataGridViewRow row = dataGridView1.Rows.Cast<DataGridViewRow>() .FirstOrDefault(r => r.Cells[1].EditedFormattedValue.Equals(b + "的温度")); if (row != null) dataGridView1.Rows.Remove(row);dataGridView1.Rows.Add(a,b+"的温度",c,d,e); dataGridView1.Rows.Add(a,b+"的温度",c,d,e); } |
|
不是直接加DataGridViewButtonCell对象
而是你先要在列(Columns)中申明这列是Button pre class=”brush: csharp”>dataGridView1.Columns.Add(new DataGridViewTextBoxColumn { HeaderText = “Column1”, Name = “Column1” }); dataGridView1.Columns.Add(new DataGridViewButtonColumn { HeaderText = “Column2”, Name = “Column2” }); |