delphi 如何让Combobox下拉菜单时,显示一个树形结构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 如何让Combobox下拉菜单时,显示一个树形结构相关的知识,希望对你有一定的参考价值。
如我数据库中的是系统管理-用户管理-新增,这是一个三层次关系
参考技术A 在点击ComboBox的时刻实际一个TTreeView,点其它的时刻封闭,本来做过,很简单的,只要设置TTreeView的Top,Left就可以了 参考技术B ComboboxEx组件能满足你的需求追问我的是delphi 2007版 貌似没找到你说的这个 要自己下,然后安装的??
追答win32下面倒数第二个 D7里
追问这个控件找到了 不过没用过 请问可以代码一段吗
追答方法同combobox类似只是多了一个Indent属性,设置0 1 2 3就可以分列出来了
追问我表示没有这个属性
追答var
item:TComboExItem;
begin
Item := cbb1.ItemsEx.Insert(0);
item.Indent:=0;
Item.Caption := '1';
Item := cbb1.ItemsEx.Insert(1);
item.Indent:=1;
Item.Caption := '2';
Item := cbb1.ItemsEx.Insert(2);
item.Indent:=2;
Item.Caption := '3';
Item := cbb1.ItemsEx.Insert(3);
item.Indent:=3;
Item.Caption := '4';
end;
datatable绑定comboBox,在下拉菜单中显示对应数据
实现功能: datatable绑定comboBox,在下拉菜单中显示对应数据 实现方法: 1、生成datatable,并为combox绑定数据源: comboBox1.DataSource = dt1; comboBox1.DisplayMember = "用户编码"; comboBox1.ValueMember = "ID"; this.comboBox1.SelectedIndex = -1; 2、在combox的SelectedIndexChanged事件中添加如下方法: private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { int iCurrentIndex = this.comboBox1.SelectedIndex; if (iCurrentIndex < 0) return; DataRow dr = dt1.Rows[iCurrentIndex]; iID = Int32.Parse(dr["ID"].ToString()); } 另:如果textBox也想绑定该数据源,实现连动(如输入编码显示对应名称) 3、在textBox的TextChanged事件中添加如下方法: private void textBox1_TextChanged(object sender, EventArgs e) { string strUserNo = this.textBox1.Text.Trim(); for (int i = 0; i < dt1.Rows.Count; i++) { if (dt1.Rows[i]["用户编码"].ToString() == strUserNo) { this.comboBox1.SelectedIndex = i; break; } else { this.comboBox1.SelectedIndex = -1; } } }
以上是关于delphi 如何让Combobox下拉菜单时,显示一个树形结构的主要内容,如果未能解决你的问题,请参考以下文章