Foxtable(狐表)用户栏目专家坐堂 → 代码冲突


  共有482人关注过本帖树形打印复制链接

主题:代码冲突

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
代码冲突  发帖心情 Post By:2024/5/24 9:24:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:丢失数据.png
图片点击可在新窗口打开查看


由于是MYSQL源,设定下面代码一:
'表属性-StartEdit开始编辑的时候执行
Dim dmp As New TableDataMap
dmp.DataTable = "窗口_Table3" '
dmp.ValueCol = "计量单位" '
dmp.DisplayCol = "计量单位" '
dmp.ListCols = "计量单位"
Tables("窗口_Table2").Cols("单位").DataMap = dmp.CreateDataMap() '生成并设置DataMap

Dim dmp As New TableDataMap
dmp.DataTable = "窗口_Table3" '
dmp.ValueCol = "等级" '
dmp.DisplayCol = "等级" '
dmp.ListCols = "等级"
Tables("窗口_Table2").Cols("等级").DataMap = dmp.CreateDataMap() '生成并设置DataMap



执行下面代码后,有时,表的中“单位”会丢失,有时,在手动录入,数量列的值时,表的中“单位”会丢失,有时正常,如何解决?
Dim nma() As String = {"产品编号", "品名",  "单位"}'
Dim nmb() As String = {"产品编号", "品名", "单位"} '

        Dim dr As Row = Tables("窗口_Table2").AddNew '
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
    Else
       
    End If
Next
Forms("导记窗口").Close()''



[此贴子已经被作者于2024/5/24 9:39:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 9:34:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:丢数据-1.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 9:51:00 [显示全部帖子]

是MYSQL源,表A,SQLTable

等级的字段默认值怎么设计,在哪里设计?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 10:08:00 [显示全部帖子]

代码放在这里报错DataRowAdding:是放在哪里?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 10:29:00 [显示全部帖子]


'在:AfterLoad
Dim db = HySql.DataBaseFactory.CreateDatabase("xc")
Dim Sql2 = "selec--t * from tb ;"
Dim dt2 As system.data.DataTable = db.ExecuteDataSet(Sq-l2).Tables(0)
dt2.TableName = "tb"
Dim t2 As Table = e.Form.Controls("Table2").Table
t2.datasource = dt2.Copy



DataTables("窗口_Table2").DataCols("等级").DefaultValue = "常规"

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:Eval函数计算错误,表达式为:常规
详细错误信息:
无效字符

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 10:48:00 [显示全部帖子]

Dim dmp As New TableDataMap
dmp.DataTable = "窗口_Table3" '
dmp.ValueCol = "等级" '
dmp.DisplayCol = "等级" '
dmp.ListCols = "等级"
Tables("窗口_Table2").Cols("等级").DataMap = dmp.CreateDataMap() '生成并设置DataMap

会跟上面代码冲突,需求是"等级"默认为“常规”,如果要修改可以从下拉列中选中修改,但执行后,在手动录入,数量列的值时,表的中“等级”会丢失,如何解决?或这个一楼一样,只能任一个方法?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 16:34:00 [显示全部帖子]

Dim dmp3 As New TableDataMap
dmp3.DataTable = "窗口_Table3" '
dmp3.ValueCol = "方式" '
dmp3.DisplayCol = "方式" '
dmp3.ListCols = "方式"
Tables("窗口_Table2").Cols("方式").DataMap = dmp3.CreateDataMap() '

Dim dmp As New TableDataMap
dmp.DataTable = "窗口_Table3" '
dmp.ValueCol = "等级" '
dmp.DisplayCol = "等级" '
dmp.ListCols = "等级"
Tables("窗口_Table2").Cols("等级").DataMap = dmp.CreateDataMap() '生成并设置DataMap

上面代码执行,双击单元格后执行窗口_Table2的方式列,双击单元格后执行窗口_Table2的等级列会相互彼此已有的数据
双击单元格后执行窗口_Table2的方式列,只修改方式列,其他不变,或双击单元格后执行窗口_Table2的等级列,只修改等级列,其他不变,代码如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 16:41:00 [显示全部帖子]

DataTables("窗口_Table2").DataCols("等级").DefaultValue = """常规"""
DataTables("窗口_Table2").DataCols("方式").DefaultValue = """常规"""
执行后,代码会异常,有时二个默认值会出来,大部时只会出一个默认值,,这个是问题,如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/24 19:09:00 [显示全部帖子]

改为下拉列表,下面蓝代码没有执行,如何处理?
方法一
Dim dr As DataRow = e.Sender.SelectedItem
If dr IsNot Nothing Then
    Tables("窗口_Table2").Current("等级") = dr("等级") 
    
End If

方法二
Dim dr As DataRow = DataTables("下拉列表窗口_Table3").Find("等级='" & e.Sender.Text & "'") '
If dr IsNot Nothing AndAlso Tables("窗口_Table1").Current IsNot Nothing Then '
    Tables("窗口_Table2").Current("等级") = dr("等级") '
   
End If


'窗口上的组合框-事件--Enter
Dim cmb As WinForm.ComboBox '
cmb = Forms("下拉列表窗口").Controls("ComboBox1") '"
cmb.ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级", "等级 is not null") '

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1143 积分:7546 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/5/25 11:35:00 [显示全部帖子]

方法一
Dim dr As DataRow = e.Sender.SelectedItem
If dr IsNot Nothing Then
    
    Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级")
End If
执行报错:无法将类型为“System.String”的对象强制转换为类型“Foxtable.DataRow”。我看官方视频教是可以,到这里就不行,如何解决?

方法二
Dim dr As DataRow = DataTables("下拉列表窗口_Table3").Find("等级='" & e.Sender.Text & "'") '
If dr IsNot Nothing AndAlso Tables("窗口_Table1").Current IsNot Nothing Then '
    Tables("窗口_Table2").Cols("等级").ComboList = DataTables("下拉列表窗口_Table1").GetComboListString("等级"),改了,执行无效,如何解决?
   
End If

 回到顶部
总数 15 1 2 下一页