DevExpress控件使用之SearchLookUpEdit(多选)

提拉下水DevExpress控件使⽤之SearchLookUpEdit(多选)效果图(可多选,弹出窗体添加控件)
SearchLookUpEdit(多选)
控件的属性和事件使⽤
1.设置多选属性
//---------------需要的⼀些属性和⽅法------------------
//楼盘内容类
public class LookUpMultSelectValues
{
public string FindText { get; set; }
public List<string> SelectedValues { get; set; }
public List<string> SelectedDisplays { get; set; }
}
//楼盘内容存储变量
private List<LookUpMultSelectValues> luValues = new List<LookUpMultSelectValues>(); //选择楼盘时,动态显⽰选中个数
public LabelControl searchResult = new LabelControl() { Text = "已选择 0 个楼盘" };
//楼盘选中的数据去重
隧道烘箱验证方案private List<string>[] GetLuValues()
{
List<string> r = new List<string>();
foreach (var a in luValues)
{
r.AddRange(a.SelectedValues);
}
List<string> b = new List<string>();
foreach (var a in luValues)
{
b.AddRange(a.SelectedDisplays);
}
一次性座套return new[] { r.Distinct().ToList<string>(), b.Distinct().ToList<string>() };
}
2.弹出窗体事件
//弹出窗体,并动态添加控件(确认按钮,取消按钮,选中结果显⽰标签)
//窗体弹出事件
private void sleEstate_Popup(object sender, EventArgs e)
{
氮化铝烧结炉
//得到当前SearchLookUpEdit弹出窗体
PopupSearchLookUpEditForm form = (sender as IPopupControl).PopupWindow as PopupSearchLookUpEditForm;
SearchEditLookUpPopup popup = form.Controls.OfType<SearchEditLookUpPopup>().FirstOrDefault();
LayoutControl layout = popup.Controls.OfType<LayoutControl>().FirstOrDefault();
//如果窗体内空间没有确认按钮,则⾃定义确认simplebutton,取消simplebutton,选中结果label
if (layout.Controls.OfType<Control>().Where(ct => ct.Name == "btOK").FirstOrDefault() == null)
{
//得到空的空间
EmptySpaceItem a = layout.Items.Where(it => it.TypeName == "EmptySpaceItem").FirstOrDefault() as EmptySpaceItem;
//得到取消按钮,重写点击事件
Control clearBtn = layout.Controls.OfType<Control>().Where(ct => ct.Name == "btClear").FirstOrDefault();
LayoutControlItem clearLCI = (LayoutControlItem)layout.GetItemByControl(clearBtn);
clearBtn.Click += clearBtn_Click;
//添加⼀个simplebutton控件(确认按钮)
LayoutControlItem myLCI = (LayoutControlItem)clearLCI.Owner.CreateLayoutItem(clearLCI.Parent);
myLCI.TextVisible = false;
SimpleButton btOK = new SimpleButton() { Name = "btOK", Text = "确定" };
btOK.Click += btOK_Click;
myLCI.Control = btOK;
myLCI.SizeConstraintsType = SizeConstraintsType.Custom;//控件的⼤⼩设置为⾃定义
myLCI.MaxSize = clearLCI.MaxSize;
myLCI.MinSize = clearLCI.MinSize;
myLCI.Move(clearLCI, DevExpress.XtraLayout.Utils.InsertType.Left);
//添加⼀个label控件(选中结果显⽰)
LayoutControlItem msgLCI = (LayoutControlItem)clearLCI.Owner.CreateLayoutItem(a.Parent);
msgLCI.TextVisible = false;
msgLCI.Control = searchResult;
msgLCI.Move(a, DevExpress.XtraLayout.Utils.InsertType.Left);
msgLCI.BestFitWeight = 100;
}
}
//楼盘清除按钮事件
private void clearBtn_Click(object sender, EventArgs e)
{
luValues.Clear();//将保存的数据清空
sleEstate.EditValue = null;
searchResult.Text = "已选择 0 个楼盘";
}
//楼盘确定按钮事件
private void btOK_Click(object sender, EventArgs e)
{
sleEstate.ClosePopup();
}
3.按钮事件,关闭事件,⾃定义显⽰内容事件,值改变事件
//按钮点击
private void sleEstate_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) {
//清除
if (e.Button.Kind == ButtonPredefines.Clear)
{
人造板热压机
luValues.Clear();
sleEstate.EditValue = null;
searchResult.Text = "已选择 0 个楼盘";
}
}
//关闭
private void sleEstate_Closed(object sender, ClosedEventArgs e)
{
var re = GetLuValues();
sleEstate.EditValue = string.Join(",", re[0].ToArray());
sleEstate.ToolTip = string.Join(",", re[1].ToArray());
}
//⾃定义显⽰内容
private void sleEstate_CustomDisplayText(object sender, CustomDisplayTextEventArgs e)
{
if (FunctionHelper.GetValue(e.Value).Contains(","))
{
e.DisplayText = "多选";
}
else
{
电子点烟器var re = GetLuValues();
if (re[0].Count == 1)
{
e.DisplayText = re[1].First();
}
else
{
e.DisplayText = "";
}
}
}
//值改变
private void sleEstate_EditValueChanged(object sender, EventArgs e)
{
string estateId = FunctionHelper.GetValue(sleEstate.EditValue);
if (estateId != "")
{
sleEstate.Properties.Buttons[1].Visible = true;
}
else
{
sleEstate.ToolTip = null;
sleEstate.Properties.View.ClearSelection();
sleEstate.Properties.Buttons[1].Visible = false;
}
}
选中事件

本文发布于:2024-09-22 09:37:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/167144.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:按钮   事件   控件   楼盘   选中   确认   取消
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议