找回密码
 立即注册

QQ登录

只需一步,快速开始

bic

注册会员

20

主题

39

帖子

125

积分

注册会员

积分
125
bic
注册会员   /  发表于:2019-7-4 16:15  /   查看:3336  /  回复:3
1金币
本帖最后由 bic 于 2019-7-4 17:26 编辑

一个类似入库单的主子表窗体,
窗体中包括主记录入库单号、供应商信息等文本字段
子记录列表记录具体入库信息。
子记录列表采用
c1flexgrid
绑定方式绑定子表的datatable,

如下图


主记录信息
入库单号:RK001, 供应商:GY001

子记录列表:()




1.如何保存表头清空子表记录
当新增一个入库单时时,需要将上一个入库单的子记录明细全部清掉?
但采用c1flexgrid.datasource=null 会把表头清除掉。


请问怎么清除?


2.如何保存正在编辑的表单元格的信息?

如果采用直接在子记录列表编辑入库明细信息,采用这种方式 保存数据会出现当前编辑的单元格如果没有退出单元格时,对应的单元格内容没有保存上的情况
怎么解决更好些?或者说怎么通过命令让用户在保存前退出当前编辑单元格?

3.这个AcceptChanges,有时会出现新增多个空行的问题!
使用dt.AcceptChanges();


保存代码如下

//dgvInfoEdit.AllowAddNew = false;//该行的作用是取消datagridview行的编辑状态,否则不能保存当前行的更新数据。
                    
                    //dgvInfoEdit.AllowAddNew = false;//该行的作用是取消datagridview行的编辑状态,否则不能保存当前行的更新数据。
                    
                    SqlCommandBuilder scb = new SqlCommandBuilder(sda); //用于生成更新语句,必须有
                                                                        //sda.UpdateCommand = scb.GetUpdateCommand();
                                                                        //sda.DeleteCommand = scb.GetDeleteCommand();
                                                                        //sda.InsertCommand = scb.GetInsertCommand();
                    int resultCount = sda.Update(dt);
                    //不能加这个AcceptChanges,加上可能会出现录入多出空行的问题
                    //dt.AcceptChanges();


如果有类似的解决方案,帮忙提供一个示例参考一下,多谢!




附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-4 18:04:37
沙发
你好,建议你做一个简单的demo来说明做的操作和问题,这样可能比较清楚一点

回复 使用道具 举报
bic
注册会员   /  发表于:2019-10-24 14:40:25
板凳
这个已经解决了,谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-10-24 16:36:03
地板
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部