我正在尝试过滤已绑定到模板的Obout 网格中的列。
背景
该DataField
列只是一个表的外键 ID,该History
表包含某个对象的基本状态(例如名称、资产标签、序列号、附加信息等)如果用户要更改某个状态对象(例如附加信息)的新记录将被添加到History
表中,并且该新记录是上述外键引用的内容。
在对列进行数据绑定期间,我将最近的历史状态与之前的状态进行比较,并返回对已更改内容的英文描述(例如“此设备的附加信息字段已被修改”),以便可以显示作为每一行中的文本。
问题
网格本身似乎只过滤作为原始数据绑定一部分的客户端上的数据(在这种情况下,只是历史记录的外键 ID)。我可以按这个数字进行过滤,尽管它实际上并没有显示在列视图中,因为它已被英文描述取代。
网格标记
<cc1:Grid ID="grdHistory" runat="server" AutoGenerateColumns="False" DataSourceID="dsHistory" AllowFiltering="true">
<Columns>
<!-- other columns snipped -->
<cc1:Column DataField="DeviceHistoryID" HeaderText="Event description" Width="450" Wrap="true"
Index="3">
<TemplateSettings TemplateId="tplEventDescription" />
</cc1:Column>
</Columns>
<Templates>
<cc1:GridTemplate ID="tplEventDescription" runat="server">
<Template>
<%# FormatEventDescription(Container.DataItem) %>
</Template>
</cc1:GridTemplate>
</Templates>
</cc1:Grid>
FormatEventDescription(Hashtable Records)
是返回我希望过滤的对象状态更改的英文版本的函数。
问题
有没有办法按栏目中的英文描述过滤?在这一点上,任何见解(设计缺陷等)都是受欢迎的。我已经尝试过筛选他们的所有文档,甚至尝试就这个问题联系他们的支持,但尚未收到回复。