【发布时间】:2018-12-23 23:23:35
【问题描述】:
我想在填充了行值列表的 DataGrid 中显示一些(但不是全部)数据:
public class RowValue
{
public int id;
public string name;
public List<A> list1;
public List<B> list2;
}
public class A
{
public int id;
public string val1;
public string val2;
...
}
public class B
{
public int id;
public string val1;
public string val2;
...
}
当我在 Master-Detail DataGrid 中展开一行时,我看到两张卡片显示每个列表的行(list1 和 list2)。我想隐藏 list1 在我的 DataGrid 中查看。目前我可以隐藏 list1 中的所有列,但带有标题的空卡仍在污染 GridView。
void gridView_MasterRowExpand(object sender, CustomMasterRowEventArgs e)
{
var masterView = sender as GridView;
GridView detailView = masterView?.GetDetailView(e.RowHandle, e.RelationIndex) as GridView;
if(detailView == null) return;
//disabling Columns
if(detailView.LevelName == "list1")
foreach(var column in detailView.Columns)
column.Visible = false;
}
为了说明我的问题,我附上了一张带有已删除所有列的卡片的图片。
【问题讨论】:
-
也许你可以添加一个AppearanceAttribute 到
list1来控制它的Visibility 并隐藏它。另一种选择是AppearanceController。工作吗? -
没用。更多信息在我的问题更新中。
-
我很惊讶似乎没有简单的方法来做到这一点......
标签: c# datagridview devexpress devexpress-windows-ui devexpress-gridcontrol