我正在使用 Telerik RadGrid 来显示域实体列表。 隐式添加一列(没有列标题,显示不执行任何操作的扭曲/箭头图标)。
我相信此列是“GridExpandColumn”
Telerik.Web.UI.GridExpandColumn 当网格具有分层结构时,会出现此列,以方便展开/折叠功能。展开列始终放置在所有其他网格内容列的前面,并且无法移动。
我的实体确实包含一个集合属性,但我不想将其显示为详细视图。
通过实验,我已经能够确定,如果在设置 radGrid.DataSource 后不调用 radGrid.DataBind(),则不会显示该列。
是否有人 (a) 知道在哪里/是否记录了此记录,以及 (b) 是否有其他方法(除了创建所需属性的 DTO 而不使用任何集合,或者在后面的代码中显式删除该列)来防止它被记录创建? 我有 AutoGenerateColumns="false" 并且 aspx 页面中的列列表是 GridTemplateColumn 和 GridBoundColumn 列的混合)。
一个额外有趣的地方:我的应用程序实际上是两个应用程序,一个 c# 和一个 vb,vb.net 应用程序对于额外的列没有同样的问题,尽管在设置数据源后立即调用 radGrid.DataBind() 。至少在某些页面上,所以这可能不是语言差异,而是我还没有弄清楚的其他一些用法。
我不知道为什么 DataBind() 会产生影响,但我找到了一种显式控制该列是否可见的方法。
MasterTableView 应该是:
<MasterTableView ExpandCollapseColumn-Visible="False">