1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using DevExpress.DataAccess.DataFederation;
- using DevExpress.Utils.Extensions;
- using DevExpress.XtraEditors;
- using DevExpress.XtraEditors.Controls;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Ips.Library.Basic;
- namespace Ips.Library.DxpLib
- {
- public static class ImageComboBoxEditExtensions
- {
- public static ImageComboBoxEdit AddEnumTopList<TEnum>(this ImageComboBoxEdit source, params TEnum[] topItems) where TEnum : struct, Enum
- {
- TEnum[] values = Enum.GetValues<TEnum>();
- if (topItems.IsNotNullOrEmpty())
- {
- values = values.OrderByDescending(m => topItems.Contains(m)).ToArray();
- }
- return AddEnumList<TEnum>(source, values);
- }
- public static ImageComboBoxEdit AddEnumList<TEnum>(this ImageComboBoxEdit source, params TEnum[] values) where TEnum : struct, Enum
- {
- source.Properties.Items.BeginUpdate();
- try
- {
- int num = 0;
- foreach (TEnum val in values)
- {
- source.Properties.Items.Add(new ImageComboBoxItem(EnumDisplayTextHelper.GetDisplayText(val), val, num++));
- }
- }
- finally
- {
- source.Properties.Items.EndUpdate();
- }
- return source;
- }
- }
- }
|