我有一个telerik:GridBoundColumn
在我的telerik:RadGrid
作为带有一些 XML 代码的字符串类型。
如何在 RadGrid
中显示该列(原始 XML)没有渲染?
我的问题:
由于某种原因,我的网格方向是从右到左...
所以首先我应该改变 xml 方向,如下所示:
<telerik:GridBoundColumn DataField="Settings" FilterControlAltText="Filter Settings column" DataFormatString="<span style='direction:ltr;'>{0}</span>"
HeaderText="Settings" SortExpression="Settings"
UniqueName="Settings" FilterImageToolTip="Filter" HtmlEncode="false">
<HeaderStyle HorizontalAlign="Right" VerticalAlign="Middle" />
<ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" />
</telerik:GridBoundColumn>
目前我们有一个 XML 字符串 ltr
网格中的方向。之后我更改为 HtmlEncode="TRUE"
,但这样做我失去了 ltr
方向。
所以我设置HtmlEncode
返回false
.
我发现我可以使用<xmp>
或<pre>
元素。但随着<xmp>
我有一些 <
的替代品和>
在网格中,它也已被弃用......并且 <pre>
我应该改变所有<
至<
和>
至>
在我的数据库中,这是不可行的。
最佳答案
为网格添加 onItemDataBound 处理程序
<telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True"
AllowSorting="True" PageSize="50" ShowFooter="True" AllowPaging="True"
AutoGenerateColumns="False" GridLines="None" ShowStatusBar="true"
onitemdatabound="RadGrid1_ItemDataBound">
和代码隐藏:
protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = e.Item as GridDataItem;
item["XmlColumn1"].Text = Server.HtmlEncode(item["XmlColumn1"].Text);
item["XmlColumn2"].Text = Server.HtmlEncode(item["XmlColumn2"].Text);
}
}
应该可以解决问题。
关于c# - 如何在 Telerik 中显示原始 XML 字符串 :RadGrid columns without rendering,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6623460/