我想在DATAGRID删除CHECKBOX选中的几行,请问怎么做?(C#,WINFORM)

danielmouse 2004-10-27 08:25:30
我的DATAGRID是用来填数据的,并没有连数据库,所以我要解决的是删除或者说是隐藏选中行,而不是删除DATASOURCE、DATAVIEW、DATATABLE。
...全文
389 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
虚拟过客 2004-12-28
  • 打赏
  • 举报
回复
danielmouse 2004-10-29
  • 打赏
  • 举报
回复
解决了!

private void btnSORemSel_Click(object sender, System.EventArgs e)
{
//删除datatable里的也可以,不过好象慢点!
// for (int y=0;y<dtSalesProduct.Rows.Count;y++)
// {
// if (this.dgdSOSalPro[y, 0].ToString()=="True")
// {
// dtSalesProduct.Rows.RemoveAt(y);
// }
// }
DataView dv;
dv=dtSalesProduct.DefaultView;

for (int y=0;y<dv.Count;y++)
{
if (this.dgdSOSalPro[y, 0].ToString()=="True")
{
dv[y].Delete();
if(y!=0)
{
y-=y;
}
else
{
y=-1;
}
}
}
}
danielmouse 2004-10-29
  • 打赏
  • 举报
回复
zhpsam109(孤寂无边)
删除一行是可以了,但是要删多行呢?我用FOR循环来删,但有问提...
另外,还有效率问提,感觉删得很慢,就是点了删除按钮以后要过一会才删掉的.
jedliu 2004-10-27
  • 打赏
  • 举报
回复
同意二楼
新鲜鱼排 2004-10-27
  • 打赏
  • 举报
回复
是显示时的高度么??

danielmouse 2004-10-27
  • 打赏
  • 举报
回复
有没有完整一点的代码??
另外,ROW的高度怎样设???
haoztao 2004-10-27
  • 打赏
  • 举报
回复
绑定数据
新鲜鱼排 2004-10-27
  • 打赏
  • 举报
回复
for(int i=0;i<ds.tables[0].rows.count.tostring();i++)
{
checkbox cb=(checkbox)ds.tables[0].rows[i][0].findcontrol("");// 显示定义checkbox
if(cb.fdkfjd==check)// 判断checkbox是否打对号
//接下来连接数据库,把它删除。
}
// 不好意思,我也是新手,我用的机器大小写不好用。我只是告诉你一个思路。
dwfxh123 2004-10-27
  • 打赏
  • 举报
回复
帮你顶!!我也遇到这个问题,那个CheckBox怎么选出来啊?各位大虾帮忙给解决下!!
danielmouse 2004-10-27
  • 打赏
  • 举报
回复
zhpsam109(孤寂无边) ,我是要按一个BUTTON,删除DATAGRID里面CHECKBOX为选中的几行,在按BUTTON里取不到e.X,e.Y啊,而且我没有dataview啊...
zhpsam109 2004-10-27
  • 打赏
  • 举报
回复
在DataGrid的MouseDown事件中!
zhpsam109 2004-10-27
  • 打赏
  • 举报
回复
System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
//
//单击鼠标右键,返回
//
if (e.Button==MouseButtons.Right) return;
this.Cursor=System.Windows.Forms.Cursors.WaitCursor;
//
//获取当前单击位置
//
myHitTest =dGRecZg.HitTest(e.X,e.Y);
//
//单击的是DataGrid单元格,而且为第一列
//
if(this.dv[myHitTest.Row]["sel"].ToString()=="True")
{
this.dv[myHitTest.Row].Delete();
}

//更新数据源......
wangxt 2004-10-27
  • 打赏
  • 举报
回复
令所选行高度为0就可以隐藏了
danielmouse 2004-10-27
  • 打赏
  • 举报
回复
是显示时的高度,因为我把COMBOBOX放进DATAGRID之后,那个行不够高,不能完全显示

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧