1

我使用数据表来填充checkedCombobocEdit 控件。我的数据表有三列(假设)。我使用“名称”列作为显示成员,还需要使用“id”和“版本”列作为值成员(结合两者)。有可能的?

myDatabaseProcessClass getTable = new myDatabaseProcessClass();
DevExpress.XtraEditors.Repository.RepositoryItemCheckedComboBoxEdit properties = myCheckedComboBoxEdit.Properties;

properties.DataSource = getTable.GetProductInformation(0, 0);

properties.ValueMember = ;// Combine "Id" column and "Version" column
properties.DisplayMember = "Name";
4

2 回答 2

1

1 您可以在新列上使用表达式,此列是由两列组合创建的。

http://msdn.microsoft.com/fr-fr/library/system.data.datacolumn.expression%28v=vs.80%29.aspx

并与新列绑定

2 您也可以使用此语法来组合两列:“Column1”+“Column2”

于 2012-08-27T19:12:56.497 回答
1

您可以尝试使用您想要的数据成员添加类,并添加 FullId 属性(Id + Version)

public class MyModel
{
    public string Id {get; set;}
    public string Version { get; set;}
    public string Name { get; set;}

    public string FullId { get {return String.Format("{0}{1}", Id, Version)}}
}

并编写一个为您获取项目列表的类

public class MyController
{
    public List<MyModel> GetItems()
    {
         var list = new List<MyModel>();
         //fill the list from your database

         return list;
    }
}

然后,在您的负载中使用属性 FullId 作为 ValueMember,例如:

private Load()
{
    var controller = new MyController();
    richeckedCom.Properties.DataSource = controller.GetItems();

    properties.ValueMember = "FullId";
    properties.DisplayMember = "Name";
}
于 2012-08-28T07:51:18.527 回答