找回密码
 立即注册

QQ登录

只需一步,快速开始

lyc

初级会员

40

主题

74

帖子

270

积分

初级会员

积分
270

微信认证勋章

lyc
初级会员   /  发表于:2022-3-11 16:50  /   查看:1634  /  回复:3
1金币
在C1FlexGrid 控件里 内容列输入内容后,为什么点Toolbar里的保存不能保存(输入完不鼠标焦点不切换行),点 Button保存按钮确可以!请协助解决,谢谢!(附件中有测试代码)
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

嗯,你说的是没有实际存到数据库中去,我看了一下,虽然datatable中的数据已经变了,但是行状态没有变为modified,所以update时不会保存,那么可以换一个做法,让toolbar或者其他的控件获取焦点,以让flexgrid失去焦点即可,这个肯定是没有问题的

3 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-11 16:50:44
来自 4#
嗯,你说的是没有实际存到数据库中去,我看了一下,虽然datatable中的数据已经变了,但是行状态没有变为modified,所以update时不会保存,那么可以换一个做法,让toolbar或者其他的控件获取焦点,以让flexgrid失去焦点即可,这个肯定是没有问题的
  1. c1ToolBar1.Focus();
复制代码
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-3-11 17:36:39
2#
button是一个单独的控件,在你点击时c1FlexGrid1失去了焦点因此退出编辑状态(光标消失),所以datatable进行了更新
但是点击toolbar上的button时,你可以看到c1FlexGrid1没有失去焦点,未退出编辑,所以关联的datatable没有更新

解决办法是,FinishEditing来退出编辑

  1.         private void c1CommandSave_Click(object sender, C1.Win.C1Command.ClickEventArgs e)
  2.         {
  3.             c1FlexGrid1.FinishEditing();
  4.             ODA.Update(DT);
  5.         }
复制代码
回复 使用道具 举报
lyc
初级会员   /  发表于:2022-3-14 10:33:04
3#
加上 c1FlexGrid1.FinishEditing();保存不了,你可以用我发的代码试下,保存完刷新查下,存不进去
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部