2

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>

目前我们在网格中有一个带有ltr方向的 XML 字符串。之后我更改为HtmlEncode="TRUE",但这样做我失去了ltr方向。所以我HtmlEncode回到false.

我发现我可以使用<xmp>or<pre>元素。但是<xmp>我在网格中有一些替换<>它也已被弃用......并且<pre>我应该在我的数据库中将所有内容更改<&lt;>,这是不可行的。&gt;

4

1 回答 1

3

为您的 Grid 添加 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);
            }

  }

应该做的伎俩。

于 2011-11-22T12:56:31.753 回答