【发布时间】:2014-06-04 14:01:49
【问题描述】:
问题是这样的:我有一个包含多个列的 GridView,我希望其中一些包含 LookUpEdit 项。我在所有这些中都遇到了相同的错误,所以我将分享简单的一个:
在这段代码中应该只有 2 个选项 YES 或 NO,但我得到的只是其中的空字符串值。
// Create a DataSet that contain the 2 values NO and YES and their keys
DataTable dsSiNO = new DataTable("dsSiNO");
dsSiNO.Columns.Add("Valor", typeof(Decimal));
dsSiNO.Columns.Add("Tipo");
dsSiNO.Rows.Add(0, @""+MsgResources.GetString("MsgNo"));
dsSiNO.Rows.Add(1, @"" + MsgResources.GetString("MsgYes"));
// Create the LookUpEdit variable and set it's options
DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit myLookup = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit();
myLookup.ShowHeader = false;
myLookup.ShowFooter = false;
myLookup.DataSource = dsSiNO ;
myLookup.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Valor"));
myLookup.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Tipo"));
myLookup.DisplayMember = "Tipo";
myLookup.ValueMember = "Valor";
// Finally set the LookUpEdit object to the column
gColNEGOCIO.ColumnEdit = myLookup;
我得到的只是带有“[Empty]”字符串的单元格。
【问题讨论】:
-
需要将 RepositoryItemGridLookUpEdit 实例添加到 GridControl.RepositoryItems 集合中。否则,GridControl 将不会激活 RepositoryItemGridLookUpEdit 的数据源。您的代码可以如下所示: DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit myLookup = (DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit)gColNEGOCIO.GridControl.RepositoryItems.Add("LookUpEdit");
-
@Uranus 你的代码不起作用,它说 gColNEGOCIO 没有属性 GridControl
-
我很抱歉。如果 gColNEGOCIO 是 GridColumn,那么您可以按如下方式访问 GridControl:gColNEGOCIO.View.GridControl。无论如何,代码 sn-p 只是为了说明。最有可能的是,您正在使用 Visual Studio 设计器并且有一个引用您的 GridControl 的变量。就用它吧。
-
非常感谢 Uranus 的帮助,但我已经发现了我的问题:GridView 的 OptionsBehavior Editable 设置为 False ...
标签: c# asp.net devexpress repositorylookupedit