1

我有一个 flexgrid(flex 组件网格),我如何隐藏一个单元格。

例如:第 2 行和第 5 列 - 我需要根据某些条件隐藏/删除。

if(C1FlexGrid1.Rows[2][5].ToString().Length <0)
{
  //I want this to be invisible.
  C1FlexGrid1.Rows[2][5].isVisible=false;
}

我使用的方式没有支持 isVisible 的属性。我有什么办法可以做到这一点?谢谢。

4

1 回答 1

2

最后我想通了:

为你的 winforms 组件网格创建一个 ownerdrawcell 事件:

componentGrid.DrawMode = C1.Win.C1FlexGrid.DrawModeEnum.OwnerDraw;
componentGrid.OwnerDrawCell += componentGrid_OwnerDrawCell;

方法

void componentGrid_OwnerDrawCell(object sender, C1.Win.C1FlexGrid.OwnerDrawCellEventArgs e)
{
       var value = componentGrid.GetCellCheck(e.Row,e.Col);
       //Your custom condition
       if (value is bool)
       {
          //Will hide the cell
          e.Style.Display = DisplayEnum.None;
       }
       else
       {
           //Will show the cell  
           e.Style.Display = DisplayEnum.Stack;
       }
}
于 2012-08-24T22:28:36.773 回答