CheckedComboBoxEdit已创建但无法使用

时间:2013-04-19 00:31:53

标签: winforms devexpress checkedlistbox devexpress-windows-ui

我正在尝试使用CheckedComboBoxEditGridViewWinForms添加devexpress。这就是我现在所得到的:

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;
}

它成功地显示了当前Operasyons之间逗号和CheckedComboBoxEdit之间的逗号可以在网格上看到(它显示了单元格右侧的小按钮)。

但是,单击单元格时,元素列表不会显示。我调试了该项目并发现chk已正确设置,并保留了Items

如果我取消评论标记为THIS LINE的行并且不将Aksaklık添加到gcIsEmirleri.DataSource,则会成功添加列表并且可以正确使用,我可以添加检查了相关数据库表中的元素,但是我看不到视图中的更改。我的意思是我无法看到所选元素,如字符串组合或在行中检查。

我做错了什么或者我还能做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

必须创建一列Aksaklık。添加新的GridColumn并分配DataSource会导致程序无法正常运行。

所以我在分配名为DataSource的{​​{1}}时创建了一个新列,将其设置为false。之后我添加了TempColumn并按照问题中的代码执行操作。之后我使用GridColumn并从UnboundType获取所需的字符串:

TempColumn