[DevExpress]RepositoryItemComboBox 数据绑定

关键代码:

        public static void Bind<T>(this RepositoryItemComboBox combox, ICollection source)

        {

            /*说明:

             *所涉及的列叙设定FieldName,否则会出现无法选中的问题;

             *eg:

             *List<PersonInfo> _source = new List<PersonInfo>();

             *_source.Add(new PersonInfo("Sven", "Petersen"));

             *_source.Add(new PersonInfo("Cheryl", "Saylor"));

             *_source.Add(new PersonInfo("Dirk", "Luchte"));

             *repositoryItemComboBox1.Bind<PersonInfo>(_source); 

             */

            if (source != null)

            {

                try

                {

                    combox.BeginUpdate();

                    combox.Items.AddRange(source);

                    combox.ParseEditValue += combox_ParseEditValue;

                }

                finally

                {

                    combox.EndUpdate();

                }

            }

        }

        //解决'对象必须实现iconvertible’问题

        private static void combox_ParseEditValue(object sender, ConvertEditValueEventArgs e)

        {

            e.Value = e.Value.ToString();

            e.Handled = true;

        }

代码使用:
            string[] test = new string[3] { "aa", "bb", "cc" };

            repositoryItemComboBox1.Bind<PersonInfo>(test);

代码效果:

image

你可能感兴趣的:(repository)