Winforms 已创建CheckedComboBoxEdit,但无法使用
我正在尝试使用Winforms 已创建CheckedComboBoxEdit,但无法使用,winforms,devexpress,checkedlistbox,devexpress-windows-ui,Winforms,Devexpress,Checkedlistbox,Devexpress Windows Ui,我正在尝试使用WinForms和devexpress将checkedcomboxedit添加到GridView中。这就是我现在得到的: using (var _db = new DB()) { var isemirleri = _db.IsEmris.AsQueryable(); var oalist = _db.OperasyonAksakliks.AsQueryable(); gcIsEmirleri.DataSource = (from i in is
WinForms
和devexpress
将checkedcomboxedit
添加到GridView
中。这就是我现在得到的:
using (var _db = new DB())
{
var isemirleri = _db.IsEmris.AsQueryable();
var oalist = _db.OperasyonAksakliks.AsQueryable();
gcIsEmirleri.DataSource =
(from i in isemirleri
select new {
ID = i.isEmriId,
İşEmriNo = i.isEmriNo,
Aksaklık = string.Join(",",
oalist
.Where(o => o.operasyonId == i.Operasyons.FirstOrDefault().operasyonId)
.Select(o => o.Durus.durusAdi).ToList())
}).ToList();
gvIsEmirleri.BeginUpdate();
//------------------------ THIS LINE -------------------------------------\\
//DataColumn col = new DataColumn("Aksaklık", typeof(string));
//------------------------ THIS LINE -------------------------------------\\
GridColumn column = gvIsEmirleri.Columns["Aksaklık"];
column.Caption = "Aksaklık";
column.Name = "Aksaklık";
gvIsEmirleri.EndUpdate();
RepositoryItemCheckedComboBoxEdit chk= new RepositoryItemCheckedComboBoxEdit();
chk.Items.Clear();
foreach (Durus d in _db.Durus.Where(q => q.aksaklikMi == true))
chk.Items.Add(new ListItem(d.durusId, d.durusAdi));
chk.EditValueChanged += new EventHandler(chk_EditValueChanged);
gvIsEmirleri.Columns["Aksaklık"].ColumnEdit = chk;
}
它成功地显示了当前的操作系统
,并且在网格上可以看到checkedcomboxedit
s之间带有逗号(显示单元格右侧的小按钮)
但是,当我单击单元格时,元素列表不会显示。我调试了该项目,发现chk
设置正确,并按原意保存项
如果我取消注释标记为此行的行
,并且不将Aksaklık
添加到gcIsEmirleri.DataSource
中,它会成功添加列表,并且可以正确使用,我可以将选中的元素添加到相关的数据库表中,但我看不到视图中的更改。我的意思是,我看不到所选元素,如字符串组合或在行中选中
我做错了什么,或者我还能做什么来让它工作 必须创建一次列Aksaklık
。添加新的GridColumn
并分配DataSource
会导致程序无法正常工作
因此,我在分配名为TempColumn
的DataSource
时创建了一个新列,将其设置为false。之后,我添加了GridColumn
,并按照问题中的代码进行操作。之后,我使用了UnboundType
,并从TempColumn
获取所需的字符串:
column.UnboundType = DevExpress.Data.UnboundColumnType.String;
column.UnboundExpression = "[TempColumn]";