FineUI 官方论坛
标题:
Grid模板列BUG
[打印本页]
作者:
杜志彬
时间:
2012-9-19 03:13
标题:
Grid模板列BUG
本帖最后由 杜志彬 于 2012-9-19 03:21 编辑
重现代码:前台:<Columns>
<ext:TemplateField SortField="IsDisabled" HeaderText="作废" Width="50px">
<ItemTemplate>
<%# (bool)Eval("IsDisabled") ? "作废" : "正常" %>
</ItemTemplate>
</ext:TemplateField>
</Columns>
后台:
protected void grid_RowDataBound(object sender, ExtAspNet.GridRowEventArgs e)
{
// DataItem是行的数据源,
// 如果数据源是DataTable/DataView/DataSet,则e.DataItem是DataRow
// 如果数据源是List<MyClass>,则e.DataItem是MyClass
// e.Values 是实际赋予此行每列的值,可以修改
Account entity = e.DataItem as Account;
if (!entity.IsDisabled)
return;
for (int i = 0; i < e.Values.Length; i++)
{
// 整行显示为红色
e.Values
= String.Format("<span style=\"color:#FF0000;\">{0}</span>", e.Values
);
}
}
问题:如果记录已作废,在列表中显示“#@TPL@#pnlMain_grid_c4r1”,其他行记录正常。在导出到EXCEL时,遍历row.Values,其他列正常,唯独模板列中的数据显示为:
#@TPL@#pnlMain_grid_c4r0
#@TPL@#pnlMain_grid_c4r1
#@TPL@#pnlMain_grid_c4r2
#@TPL@#pnlMain_grid_c4r3
页面截图:
[attach]1101[/attach]
导出截图:
[attach]1100[/attach]
分析:经查看生成的HTML代码,估计是模板列的e.Values值有问题。
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4