foreach (DataGridViewRow row in dtGv.Rows)
{
row.Cells["Choose"].Value = cbxAlldtGv.Checked;
}
以上过程已经处理完,现在出现的问题是我想将DataGridView的第一列值为true的筛选出来,代码如下:
DataView tempView = new DataView(tempdt);
tempView.RowFilter = "Choose = 1";
DataTable retemp = tempView.ToTable();
得到的表retemp总是少了第一行的数据,如果我手工将每一行选中,retemp又是能够全部筛选出来。
不知是不是DataView的RowFilter的问题还是全选这个CheckBox有问题,请各位不吝赐教!
10 个解决方案
#1
这是个焦点的问题,
楼主可以加上dtGv.Rows[0].Cells[0].Selected = true;
试一试
楼主可以加上dtGv.Rows[0].Cells[0].Selected = true;
试一试
#2
楼主在执行完 全选操作后,
加上
dtGv.CurrentCell = dgConfig[0, 0];
应该就解决问题了
加上
dtGv.CurrentCell = dgConfig[0, 0];
应该就解决问题了
#3
试过dtGv.Rows[0].Cells[0].Selected = true;还是一样,
dgConfig怎么定义呢?谢谢!
dgConfig怎么定义呢?谢谢!
#4
用DataGridView中的CurrentCellDirtyStateChanged事件
private void grdSplit_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (grdSplit.IsCurrentCellDirty)
grdSplit.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
private void grdSplit_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (grdSplit.IsCurrentCellDirty)
grdSplit.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
#5
试过还是不行,我执行全选再查询都没有触发这个事件.
#6
那就换个方法
DataTable dt;
foreach (DataRow dr in Tables.Select("Selected = 1"))
{
dt.Add(dr);
}
DataTable dt;
foreach (DataRow dr in Tables.Select("Selected = 1"))
{
dt.Add(dr);
}
#7
Tables.Select("Selected = 1") 括号里面如果是bool 可以直接 Selected = true 如果是字符串需要调整下 你试下了
#8
foreach (DataGridViewRow row in dtGv.Rows)
{
row.Cells[0].Value = cbxAlldtGv.Checked;
}
看看
{
row.Cells[0].Value = cbxAlldtGv.Checked;
}
看看
#9
DataView的RowFilter跟Tables.Select都不能解决问题,都会漏掉一行,改变datagridview的焦点可以筛选出全选的数据,但是点击取消全选时又会漏一行没有取消,还是没解决,最后我用Linq来筛选才解决了.
#10
如何全部取消datagridview的选中行啊,第一次显示的时候,我写了
dataGridViewProject.Rows[0].Selected = false;
但每一次第一行还是被选中了,求高手指导
dataGridViewProject.Rows[0].Selected = false;
但每一次第一行还是被选中了,求高手指导
#1
这是个焦点的问题,
楼主可以加上dtGv.Rows[0].Cells[0].Selected = true;
试一试
楼主可以加上dtGv.Rows[0].Cells[0].Selected = true;
试一试
#2
楼主在执行完 全选操作后,
加上
dtGv.CurrentCell = dgConfig[0, 0];
应该就解决问题了
加上
dtGv.CurrentCell = dgConfig[0, 0];
应该就解决问题了
#3
试过dtGv.Rows[0].Cells[0].Selected = true;还是一样,
dgConfig怎么定义呢?谢谢!
dgConfig怎么定义呢?谢谢!
#4
用DataGridView中的CurrentCellDirtyStateChanged事件
private void grdSplit_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (grdSplit.IsCurrentCellDirty)
grdSplit.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
private void grdSplit_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (grdSplit.IsCurrentCellDirty)
grdSplit.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
#5
试过还是不行,我执行全选再查询都没有触发这个事件.
#6
那就换个方法
DataTable dt;
foreach (DataRow dr in Tables.Select("Selected = 1"))
{
dt.Add(dr);
}
DataTable dt;
foreach (DataRow dr in Tables.Select("Selected = 1"))
{
dt.Add(dr);
}
#7
Tables.Select("Selected = 1") 括号里面如果是bool 可以直接 Selected = true 如果是字符串需要调整下 你试下了
#8
foreach (DataGridViewRow row in dtGv.Rows)
{
row.Cells[0].Value = cbxAlldtGv.Checked;
}
看看
{
row.Cells[0].Value = cbxAlldtGv.Checked;
}
看看
#9
DataView的RowFilter跟Tables.Select都不能解决问题,都会漏掉一行,改变datagridview的焦点可以筛选出全选的数据,但是点击取消全选时又会漏一行没有取消,还是没解决,最后我用Linq来筛选才解决了.
#10
如何全部取消datagridview的选中行啊,第一次显示的时候,我写了
dataGridViewProject.Rows[0].Selected = false;
但每一次第一行还是被选中了,求高手指导
dataGridViewProject.Rows[0].Selected = false;
但每一次第一行还是被选中了,求高手指导