找回密码
 立即注册

QQ登录

只需一步,快速开始

百里叶扬

注册会员

8

主题

27

帖子

115

积分

注册会员

积分
115
百里叶扬
注册会员   /  发表于:2024-2-18 16:53  /   查看:2910  /  回复:8
1金币
修改单元格的内容后,触发ChangeEdit事件,在事件中处理修改后的值,现使用 getdata ,但提示 error BC31003: 只允许在交互提交结尾处使用表达式语句。

请教如何获取修改的值呢

最佳答案

查看完整内容

首先,单元格目前是在编辑状态,所以你应该是去获取或者编辑这个编辑器的值 可以通过c1FlexGrid1.Editor.Text属性 另外,在编辑状态你去设置了改变了当前的 文本值。又会重复触发ChangeEdit事件。造成重复执行死循环 这个你得根据你自己的业务需要,进行逻辑判断看看如何设置

8 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-18 16:53:10
来自 4#
首先,单元格目前是在编辑状态,所以你应该是去获取或者编辑这个编辑器的值
可以通过c1FlexGrid1.Editor.Text属性

另外,在编辑状态你去设置了改变了当前的 文本值。又会重复触发ChangeEdit事件。造成重复执行死循环
这个你得根据你自己的业务需要,进行逻辑判断看看如何设置

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-18 17:29:21
2#
请给出事件中的完整代码,以及你最终的需求是什么,我没有看懂你说的“如何修改后的值”
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-2-19 09:06:39
3#
Richard.Ma 发表于 2024-2-18 17:29
请给出事件中的完整代码,以及你最终的需求是什么,我没有看懂你说的“如何修改后的值”
  1.   Private Sub Fg_StartEdit(sender As Object, e As RowColEventArgs) Handles Fg.StartEdit
  2.         If e.Col = 2 Then
  3.             Fg_Kmbm.SetBounds(Fg.Cols(e.Col).Left, Fg.Rows(e.Row + 1).Top, Fg.Cols(e.Col).Width, Fg_Kmbm.Height)
  4.             Fg_Kmbm_Resh()
  5.             Fg_Kmbm.Visible = True
  6.         Else
  7.             Fg_Kmbm.Visible = False
  8.         End If
  9.     End Sub

  10.     Private Sub Fg_ChangeEdit(sender As Object, e As EventArgs) Handles Fg.ChangeEdit

  11.         If Fg.Col = 2 Then
  12.             Dim lsCls_Subject As New DB_Read.ClsBasic_Setting_Subject_Beginning
  13.             Dim lsTb_Subject As DataTable = lsCls_Subject.Get_Subject(mySqlConn, " where (kmbm like '%" & Fg.GetData(Fg.Row, Fg.Col).ToString.Trim & "%' or zjm like '%" & Fg.GetData(Fg.Row, Fg.Col).ToString.Trim & "%') and ynxj = 0 ", pYear)
  14.             Dim lsErr_Subject As String = lsCls_Subject.Err

  15.             If lsErr_Subject.Trim.Length = 0 Then
  16.                 If lsTb_Subject.Rows.Count > 0 Then

  17.                     For i = 0 To lsTb_Subject.Rows.Count - 1
  18.                         Fg_Kmbm.AddItem("")

  19.                         Fg_Kmbm.SetData(Fg_Kmbm.Rows.Count - 1, 0, lsTb_Subject.Rows(i)("kmbm").ToString.Trim)
  20.                         Fg_Kmbm.SetData(Fg_Kmbm.Rows.Count - 1, 1, lsTb_Subject.Rows(i)("kmmc").ToString.Trim)
  21.                         Fg_Kmbm.SetData(Fg_Kmbm.Rows.Count - 1, 2, IIf(lsTb_Subject.Rows(i)("yefx").ToString = "j", "借", "贷").ToString)
  22.                     Next 'i
  23.                 End If
  24.             Else
  25.                 MessageBox.Show("加载编码故障(" & lsErr_Subject & ")", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
  26.             End If
  27.         End If

  28.     End Sub
复制代码


Fg和Fg_Kmbm 都是C1flexgrid控件,在Fg控件中输入一个编码字符时,Fg_Kmbm会列出所有包含这个字符的编码,名称等
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-2-19 09:54:03
5#
Richard.Ma 发表于 2024-2-19 09:38
首先,单元格目前是在编辑状态,所以你应该是去获取或者编辑这个编辑器的值
可以通过c1FlexGrid1.Editor.T ...

这个属性正好解决了我的问题,太谢谢了。
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-2-19 10:02:32
6#
Richard.Ma 发表于 2024-2-19 09:38
首先,单元格目前是在编辑状态,所以你应该是去获取或者编辑这个编辑器的值
可以通过c1FlexGrid1.Editor.T ...

对了,有没有介绍c1FlexGrid控件属性,方法的文档呢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-19 16:28:25
7#
暂时还没有完整的,可以先参考这里
https://help.grapecity.com.cn/di ... Studio+For+WinForms


我们近期会在官网更新一版C1的完整文档。
回复 使用道具 举报
百里叶扬
注册会员   /  发表于:2024-2-19 16:33:17
8#
Richard.Ma 发表于 2024-2-19 16:28
暂时还没有完整的,可以先参考这里
https://help.grapecity.com.cn/display/ComponentOne/ComponentOne+St ...

好的,谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-2-19 16:52:40
9#
不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部