我想用两个按钮实现对当前行的“积分字段”加或者减1.单点击某行,这两个按钮移动到当前行行首的两个列中,怎么才能让按钮随着行的改变而移动呢,如果在rowenter事件中,当加载数据时候,也会触发事件,我想在数据都加载完之后,这个事件中的代码才有效
我想定义一个boolean的变量can,然后在数据加载完之后设为true;rouenter事件中判断如果can为TRUE,就弹出对话框,但是还不行,窗体显示的一开始,还是会执行弹出对话框
c#: 用datagridview从数据库加载数据,怎么判断数据已经完全加载完毕了呢
答案:2 悬赏:60 手机版
解决时间 2021-01-24 08:12
- 提问者网友:精神病院里
- 2021-01-23 17:17
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-01-23 17:49
DataBindingComplete 事件中改变bool的值
全部回答
- 1楼网友:千杯敬自由
- 2021-01-23 19:22
1、获取datagridview中的数据结构表
定义一个全局的datatable,使用(datatable)datagridview.datasource获取,注意保证datagridview列名与标题保持一致,防止出错。
2、根据datatable组sql
定义一个getsql的方法,传三个参数,一个是datatable型,即数据表对象;一个string,传递sql语句的主表名;一个是list,传递sql语句的主键信息。
大致的逻辑是,循环datatable每一行记录,对于每一行记录再进行一次循环。循环单行记录的每一列,组一个sql字串出来。例如:
string sql=string.format(@"update {0} set ",参数二);
string strfliter="";
foreach(datarow dr in datatable.rows)
{
foreach(datacolumn dc in datatable.columns)
{
if(参数三.contains(dc.columnname))//如果是主键
{
strfliter = strfliter+dc.columnname +"='" +dr[dc].tostring()+"',";////"列名='xxx',"
}
else//如果是修改列
{
sql = sql+dc.columnname +"='" +dr[dc].tostring()+"',";
}
}
}
```
strfilter = strfilter .substring(0,strfilter .length-1);
sql = sql.substring(0,sql.length-1) +" where "+strfliter;参照类似的写法,可基本组出最终的sql(以上代码未测试,仅提供思路,慎重使用)。
最后执行组出来的所有sql即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯