DevExpress TreeListLookupEdit常用技巧

//设定为CheckBox可用            

this.treeListLookUpEdit1.Properties.TreeList.OptionsView.ShowCheckBoxes = true;

//设定默认显示值            

this.treeListLookUpEdit1.EditValue = "请选择";

 

//获取CheckBox选中项的

List<TreeListNode> aa=treeListLookUpEdit1TreeList.GetAllCheckedNodes();

 

//数据绑定(3种方法,不推荐直接绑定List<T>类型)

方法1:DataTable

//设置父子递归关系字段            

this.treeListLookUpEdit1.Properties.TreeList.KeyFieldName = "DepartmentID";            

this.treeListLookUpEdit1.Properties.TreeList.ParentFieldName = "ParentID";

//设置绑定字段和显示字段            

this.treeListLookUpEdit1.Properties.ValueMember = "DepartmentID";            

this.treeListLookUpEdit1.Properties.DisplayMember = "DepartmentName";

//绑定数据源            

this.treeListLookUpEdit1.Properties.DataSource = dtSource;

★说明  如果不需要获取节点值的情况下可以绑定DataTable,List<T>,BindingList<T> 三种数据源

其中后两种可以通过构造函数进行简单转换。区别在于数据源绑定BindingList的时候可以方便的获取节点值(该问题TreeList,GridControl同样存在)

List<DepartmentInfo> lstDepartment=new List<DepartmentInfo>();

BindingList<DepartmentInfo> aa=new BindingList<DepartmentInfo>(lstDepartment);

 

获取节点值方法(对应上述绑定的泛型方法):

DepartmentInfo tt = this.treeListLookUpEdit1TreeList.GetDataRecordByNode(tln) as DepartmentInfo;  //数据源绑定BindingList<DepartmentInfo>

DataRowView drv = this.treeListLookUpEdit1TreeList.GetDataRecordByNode(tln) as DataRowView;  //数据源绑定DataTable

 

posted on 2017-05-26 12:04 飘扬De黑夜 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/volts0302/p/6907869.html

要实现DevExpress TreeListLookupEdit的多选功能,可以按照以下步骤进行操作: 1. 设置TreeListLookupEdit的Properties.TextEditStyle属性为HideText,这样就可以隐藏下拉列表中的文本框,只显示树状结构列表。 2. 为TreeListLookupEditTreeList控件添加一个复选框列,可以使用以下代码: ```csharp treeList1.Columns.Add(new TreeListColumn() { Caption = "Selected", Visible = true, Width = 50, FieldName = "Selected", UnboundType = UnboundColumnType.Boolean, OptionsColumn = { AllowEdit = true, ShowCaption = false, ShowInCustomizationForm = false }, ColumnEdit = new RepositoryItemCheckEdit() }); ``` 3. 在TreeListLookupEditEditValueChanged事件中,遍历TreeList中所有节点,如果节点的复选框被选中,则将其对应的数据添加到一个List中,最后将List中的数据合并为一个字符串,可以使用以下代码: ```csharp private void treeListLookupEdit1_EditValueChanged(object sender, EventArgs e) { List<string> selectedValues = new List<string>(); foreach (TreeListNode node in treeListLookupEdit1TreeList.Nodes) { if ((bool)node.GetValue("Selected")) { selectedValues.Add(node.GetValue("Value").ToString()); } AddSelectedNodes(node, selectedValues); } textEdit1.Text = string.Join(",", selectedValues); } private void AddSelectedNodes(TreeListNode node, List<string> selectedValues) { foreach (TreeListNode childNode in node.Nodes) { if ((bool)childNode.GetValue("Selected")) { selectedValues.Add(childNode.GetValue("Value").ToString()); } AddSelectedNodes(childNode, selectedValues); } } ``` 通过以上步骤,就可以实现DevExpress TreeListLookupEdit的多选功能。用户可以通过勾选复选框来选择多个节点,选择的节点对应的数据将会以逗号分隔的字符串形式显示在另一个TextEdit控件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值