各位高手请赐教:
我做了一个桌面程序(进销存),我想在库存窗体(用datagrid控件)中选择多行进行操作(如一次性删除多行),请问怎么实现?请各位写详细一点,先谢谢了,我是菜鸟
我做了一个桌面程序(进销存),我想在库存窗体(用datagrid控件)中选择多行进行操作(如一次性删除多行),请问怎么实现?请各位写详细一点,先谢谢了,我是菜鸟
解决方案 »
- sql批量更新或者插入表数据
- 在位置 0 处没有任何行。错误
- C#如何使窗体完美透明~知道的大哥快出来吧!别藏着了
- 针式打印机逐行打印中文不识别
- 接口,类的关系
- 请问到哪里能下到O/RMapping框架,还有自动生成代码工具,要免费的免注册的?
- 在C#中使用api时,常数怎么处理,SM_CYCAPTION的值是几啊。非常急切!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 如何在dataGrid中显示调用存储过程返回的记录??????
- vb.net中的函数 GetObject的作用是什么? 对应的C#.net中的方法是什么?
- 找不到方法:“System.Reflection.MethodInfo System.Reflection.PropertyInfo.get_GetMethod
- 谁有在vs 2005中可以使用的日期选择控件?(网上的很多js写的,都不能用)
- 让窗体一直最大化显示
我在遍历的时候不知道怎么识别被选中行啊?
{
存主键的带码 ;
}
帮人帮到底,遍历我都搞不定。能不能写齐了。
就是在每列后加上一个选择项(checkbox选项)!
选中就可以删掉!
未选就不可以!
呵呵!自己想的方法!
不知道可以吗!
顶!
就是在每列后加上一个选择项(checkbox选项)!
选中就可以删掉!
====================我倒觉得这个方法很好,不过这里应该是在每行后面加一列,里面就放一个CheckBox,值(value)就是这行记录的主键值(比如ID),点击删除则进行处理,遍历CheckBox,如果被选中,则把value值记录,格式就是
string allValues="";
foreach(遍历CheckBox)
if(是否选中)
allValues += (","+选中的CheckBox.value);
if(allValues!="")
allValues = allValues.Substring(1);//去掉第一个,逗号.然后定义一个Sql语句string Delstr = "delete from [(你的表名)] where (表的主键) in ("+allValues+")";
SqlCommand一下就可以了,注意这里的SQL语句一定要用Text直接执行而不能用存储过程或赋变量的形式。最后要说的是:没写过WinForm的程序,这只是一个思路,可不可行就不知道了~~不好意思~~
for(int i=0;i<行数;i++)
{
if(dataGrid1.IsSelected(i) == true)
{
a[j] = 第i行的主键 ;//a[]为存主键的数组,或集合.
j++ ;
}
}
然后根据主键删除对应的行就OK了
我想这样写。
但不知道求datagrid的行数啊.
在Web中可是datagrid1.Items.Count;但这里却没有。烦
是的话可以读取dataTable中的行数代替dataGrid的行数.
哦!!是一个办法。 试试
但这位兄台,我就不理解微软为什么要这么做
Web中的datagrid控件有Items属性,
但在winform中为什么就不要它,难道真的没有其它办法可以在datagrid中求出它的行数。
dv.Table.Rows.Count就是行数.
zxcayumi(◎_◎)兄的: a[j] = 第i行的主键 ;//a[]为存主键的数组,或集合.我又不知道怎么弄了!!是查询数据库吗?如果是,那么反回主键的条件是什么?(select 主键 from T_table where ???=???
模板列里加个checkbox
遍历datagrid的items
检查checkbox的checked属性
If CType(DataGrid1.Items(i).Cells(0).FindControl("CheckBox1"), System.Web.UI.WebControls.CheckBox).Checked = True And DropDownList1.SelectedIndex <> -1 And DropDownList1.SelectedIndex <> 0 Then
……
……
……
End If
Next