123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System;
- using System.Collections.Generic;
- using DevExpress.XtraEditors.Controls;
- using DevExpress.XtraEditors.Repository;
- namespace SiwiFms.Helper
- {
- public sealed class ColumnEditEx : RepositoryItemLookUpEdit
- {
- public ColumnEditEx()
- {
- }
- /// <summary>
- /// </summary>
- /// <param name="source">数据源</param>
- /// <param name="value">值字段</param>
- /// <param name="displayName">显示字段</param>
- /// <param name="columns">需要显示的列</param>
- /// <param name="nullText">空值</param>
- /// <param name="autoSearchColumnIndex">以该列作为筛选</param>
- /// <param name="textEditStyles">文本编辑模式</param>
- /// <param name="searchMode">搜索模式</param>
- public ColumnEditEx(object source, string value = "", string displayName = "",
- IEnumerable<string> columns = null, string nullText = "", int autoSearchColumnIndex = 0,
- TextEditStyles textEditStyles = TextEditStyles.Standard, SearchMode searchMode = SearchMode.OnlyInPopup)
- {
- if (source.GetType().BaseType == typeof (Enum))
- {
- value = "Key";
- displayName = "Value";
- columns = new[] {"Value", "Key"};
- source = EnumUtil.EnumToDictionary(source.GetType());
- }
- DataSource = source;
- DisplayMember = displayName;
- ValueMember = value;
- if (columns != null)
- {
- Columns.Clear();
- foreach (string column in columns)
- {
- Columns.Add(new LookUpColumnInfo(column));
- }
- }
- AutoSearchColumnIndex = autoSearchColumnIndex;
- NullText = nullText;
- TextEditStyle = textEditStyles; //要使用户可以输入,这里须设为Standard
- SearchMode = searchMode; //自动过滤掉不需要显示的数据,可以根据需要变化
- }
- }
- }
|