表结构为:Organ( ID, Code, Name)
内容为 1 10300100 单位A
2 10300101 A的下属单位1
3 10300102 A的下属单位2
......
7 10300200 单位B
8 10300201 B的下属单位1
9 10300202 B的下属单位2
......
其中,Code最后两位不为0的是下属单位,其父单位的Code为该单位Code前6位后加两个0设置如下:adqSearch.SQL.Text := 'SELECT iif((Code MOD 100)=0,NULL,INT(Code/100)*100) AS iParent, * FROM Organ';
adqParent.SQL.Text := 'SELECT Code,Name FROM Organ WHERE (Code MOD 100)=0';cxDBLookupComboBox1.DataBinding.DataSource := adqSearch;
cxDBLookupComboBox1.DataBinding.DataField := iParent;
cxDBLookupComboBox1.Properties.ListSource := adqParent;
cxDBLookupComboBox1.Properties.KeyFieldNames := 'Code';
cxDBLookupComboBox1.Properties.ListFieldNames := 'Code;Name';运行之,显示和下拉列表都正常,但选择后不能改变iParent的值,例如:
当前记录ID=8时,不管怎么选,结果总是10300200
当前记录ID=7时,不管怎么选,结果总是空请问怎么解决之?
ps. 不能直接在表中增加一个'iParent'字段
内容为 1 10300100 单位A
2 10300101 A的下属单位1
3 10300102 A的下属单位2
......
7 10300200 单位B
8 10300201 B的下属单位1
9 10300202 B的下属单位2
......
其中,Code最后两位不为0的是下属单位,其父单位的Code为该单位Code前6位后加两个0设置如下:adqSearch.SQL.Text := 'SELECT iif((Code MOD 100)=0,NULL,INT(Code/100)*100) AS iParent, * FROM Organ';
adqParent.SQL.Text := 'SELECT Code,Name FROM Organ WHERE (Code MOD 100)=0';cxDBLookupComboBox1.DataBinding.DataSource := adqSearch;
cxDBLookupComboBox1.DataBinding.DataField := iParent;
cxDBLookupComboBox1.Properties.ListSource := adqParent;
cxDBLookupComboBox1.Properties.KeyFieldNames := 'Code';
cxDBLookupComboBox1.Properties.ListFieldNames := 'Code;Name';运行之,显示和下拉列表都正常,但选择后不能改变iParent的值,例如:
当前记录ID=8时,不管怎么选,结果总是10300200
当前记录ID=7时,不管怎么选,结果总是空请问怎么解决之?
ps. 不能直接在表中增加一个'iParent'字段
解决方案 »
- 怎样强制改变一个Button的颜色,不用第三方组件
- ini文件的问题
- 从Excel导入数据到SQL,已经设置了单元格是日期值,但导入时还是出错。怎么解决呢?
- 小女子求大家了,如何用Dephi写刻录光盘的程序,在线等,,,,
- 请问高手,三层结构线程问题
- 如何将ActionManager的Category及Action动态导入ActionMainMenuBar?
- 关于分辨率和窗口最大化问题
- 关于取整和取余数。
- 高分给简单问题
- 请问如何使用dbgrid的onDrawColumnCell事件将一个其他控件画到dbgrid的一个cell里?
- 再度重分求个语句??程序运行时判断SQL中的表是否存在?
- 用Delphi实现论坛灌水机的源码不能调试通过
不是一个实制的字段啊!
“请问怎么解决之?
ps. 不能直接在表中增加一个'iParent'字段 ”
cxGrid1DBTableView1已经关联数据库了。
cxDBLookupComboBox1.DataBinding.DataField := iParent; 去掉这个试一下。所有的这些都可以在设计时都设置好,不需要动态设置,你试一下。