|
判断即将插入的新的一行的第二个列的值是否和当前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
|
![]() |
我在form_load把列加上去了,现在我想在方法里面加行
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” }); |


我在form_load把列加上去了,现在我想在方法里面加行