【求助】pb 数据窗口中某一字段的dropdown内容筛选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【求助】pb 数据窗口中某一字段的dropdown内容筛选相关的知识,希望对你有一定的参考价值。

例如:数据窗口中选择了“所属的乡镇”的值,“所属村”字段用的dropdown,我需要在所属村这个字段的下拉框中指显示刚刚选择的镇中的村

方法:假设数据窗口为dw_1,itemchanged事件中:
if dwo.name='镇字段名' then
datawindowchild ld_child
dw_1.getchild('村字段',ld_child)
ld_child.settransobject(sqlca)
ld_child.retrieve(dwo,data)
end if
注明;dropdown dw中要设置检索参数,乡镇要有一定的关联,本人用上级分类来做区分。具体问题还要你具体对待!追问

我要输的这个数据窗口是“村民基本信息表”,这个表里有两个字段“z_bh”、“c_bh”,这个两个字段都是用的dropdown属性,“z_bh”dropdown用的数据窗口两个字段是"z_bh","z_mc",这连个字段来自“镇基本信息表”;"c_bh”dropdown用的数据窗口两个字段是"c_bh","c_mc",这连个字段来自“村基本信息表”,“村基本信息表”里头有“z_bh"这个字段。这种情况在这里我要怎么建关联呢?怎样才能完全实现效果。

追答

“z_bh”dropdow里面的现实属性是z_mc,数据值是z_bh。c_bh”dropdown数据窗口里面的sql的语法:select c_bh,c_mc ,z_bh from 表明称 where z_bh=:bh 其中bh为定义的检索参数。然后就是itemchanged事件中:
if dwo.name='z_bh' then
datawindowchild ld_child
dw_1.getchild('c_bh',ld_child)
ld_child.settransobject(sqlca)
ld_child.retrieve(dwo.data)
end if
应该就可以了

追问

第一行语句 if dwo.name='z_bh' then 报错"null object reference"

追答

修改个地方ld_child.retrieve(dwo.data)
改为ld_child.retrieve(data)

参考技术A 可以对于下拉数据窗口进行过滤,或者对于下拉数据窗口进行带参数的查询。
假设所属村的字段名字是country_id
那么获取下拉的代码:
可以写在数据窗口的itemchanged事件中,不过我觉得写在点击事件中也可以。
这样可以根据每行来判断这一行的乡镇的值了。
写在clicked事件代码如下:
if dwo.name = 'country_id' then
if row <= 0 then return
string ls_village
ls_village = this.object.村镇字段[row]
datawindowchild l_child
dw_1.getchild('country_id', l_child)
l_child.settransobject(sqlca)
l_child.retrieve()
l_child.setfilter("村镇字段 = '" +ls_village+ "'")
l_child.filter()
end if

或者在下拉的数据窗口中设置查询参数,每次l_child.retrieve(ls_village)来控制也可以
参考技术B 学习了

在ArcGIS中如何修改属性表中某一字段的值

1、首先打开一个arcgis工程文件。

2、在左侧窗口中右击面要素文件,选择“open attribute table”。

3、点击左上角小图标,在下拉菜单中选择“add field”新建字段。

4、在出现的窗口中输入字段名称,选择字段类型和字段长度。点击OK.则新建字段完成。

5、在新建字段“编号”表头上右击鼠标选择“field calculator(字段计算器)”。

6、在出现的窗口中,随便输入一个值,点击OK。完成字段赋值。

参考技术A

1、打开Arcmap软件,在这里添加了一个面图层park选项,在这里随意画了四个形状的图形;

2、可以打开属性表查看一下,这里除了系统默认的fid,shape和ID之外没有其他属性,这时可以在这个属性表里填加;

3、要想直接在属性表里添加属性字段,首先就要结束对图层的编辑,editor下选择stop editing;

4、然后右击属性表第一个标志的小三角,选择add field选项,这样就可以添加字段了;

5、然后现在打开add field对话框,在这里填上字段的名称和类型点击保存;

6、现在在这里可以添加一个位置字段用作示范添加的类型是text选项;

7、现在打开editor下的start editing,然后在这个字段里就可以添加修改属性值了。

参考技术B catalog对表的右击操作就可以看到字段选项了。 参考技术C 选中需要修改属性的要素,打开属性表,在需要计算的字段名称点右键,选择字段计算器或者计算几何. 参考技术D 你是说统改还是单改一条记录?

首先是要让数据处于编辑状态,也就是editor工具条有个下拉箭头,下面点start edit

以上是关于【求助】pb 数据窗口中某一字段的dropdown内容筛选的主要内容,如果未能解决你的问题,请参考以下文章

(紧急求助)请问PB中如何实现单据的审核,单据的状态有未审核以及审核两种状态,谢谢

如何使pb数据窗口不可编辑变为可编辑

sql单表中某一字段重复,取最近3条或几条数据

Delphi中点击DBGrid中某一单元格时,后面出现个按钮可以点进去,出现一个新窗体,进行选择。

mysql 删除表中某一列的数据及删除某一列的方法

SQL语句怎么筛选表中某一字段不重复的数据行数?