Foxtable(狐表)用户栏目专家坐堂 → [求助]ComboBox 不绑定字段 显示列是字符 取值列是整型 报错


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

主题:[求助]ComboBox 不绑定字段 显示列是字符 取值列是整型 报错

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


加好友 发短信
等级:婴狐 帖子:40 积分:297 威望:0 精华:0 注册:2019/7/3 10:54:00
[求助]ComboBox 不绑定字段 显示列是字符 取值列是整型 报错  发帖心情 Post By:2019/8/5 19:18:00 [只看该作者]

如题,ComboBox 没有绑定字段,设置了数据表,显示列:名称 取值列:_Identify 下拉的时候就报错 提示输入的字符串格式不正确 如下: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾。 ************** 异常文本 ************** System.FormatException: 输入字符串的格式不正确。 在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) 在 System.String.System.IConvertible.ToInt32(IFormatProvider provider) 在 System.Data.Common.Int32Storage.ConvertValue(Object value) 在 System.Data.Index.FindNodeByKey(Object originalKey) 在 System.Data.Index.FindRecordByKey(Object key) 在 System.Data.DataView.FindByKey(Object key) 在 Foxtable.oOOo 0Oo.o O 0OO () 在 Foxtable.oOOo 0Oo.o  oO0 o(Object A_0, EventArgs A_1) 在 System.Windows.Forms.Control.OnGotFocus(EventArgs e) 在 System.Windows.Forms.TextBox.OnGotFocus(EventArgs e) 在 C1.Win.C1Input.C1TextBox.OnGotFocus(EventArgs e) 在 C1.Win.C1Input.C1DropDownControl.OnGotFocus(EventArgs e) 在 System.Windows.Forms.Control.WmSetFocus(Message& m) 在 System.Windows.Forms.Control.WndProc(Message& m) 在 System.Windows.Forms.TextBoxBase.WndProc(Message& m) 在 System.Windows.Forms.TextBox.WndProc(Message& m) 在 C1.Win.C1Input.C1TextBox.WndProc(Message& m) 在 C1.Win.C1Input.C1DropDownControl.WndProc(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 如果把取值列改成字符串格式的如名称就正常。 但是:如果将此ComboBox 绑定上字段,他就不会报错了。 请教如何解决?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106211 积分:540178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/5 20:25:00 [只看该作者]

无法解决。另外建议不要使用_Identify做业务关联,不可控的,建议使用自编号

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


加好友 发短信
等级:婴狐 帖子:40 积分:297 威望:0 精华:0 注册:2019/7/3 10:54:00
为什么用_Identify做关联不可控?  发帖心情 Post By:2019/8/6 10:08:00 [只看该作者]

1、为什么用_Identify做主键不可控,能举例说明吗? 2、如果我自己关联的话必须用字符型的吗?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106211 积分:540178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/6 10:28:00 [只看该作者]

首先_Identify是自动创建的,无法手工控制,新行在保存前和保存后这个值可能不一样。其次如果迁移数据库,整个表的_Identify可能都会被重置。总之问题多多

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


加好友 发短信
等级:婴狐 帖子:40 积分:297 威望:0 精华:0 注册:2019/7/3 10:54:00
我能自己更改主键吗?  发帖心情 Post By:2019/8/6 10:33:00 [只看该作者]

如果我用普通自编号比如00001 DH0001 这样的字符串类型的编码做关联。 那我能把_Identify的主键去掉吗?采用我自己的编号做主键。 对ft有什么影响
[此贴子已经被作者于2019/8/6 10:33:51编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106211 积分:540178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/6 10:38:00 [只看该作者]

可以去掉,基本没有影响,只不过新增行不能使用table.addnew,需要使用datatable.addnew,添加后必须马上给主键赋值。

建议保留_Identify的主键,编号做普通列即可,没有什么冲突的

 回到顶部