Как показать необработанную строку XML в Telerik: столбцы RadGrid без рендеринга - PullRequest
2 голосов
/ 08 июля 2011

У меня telerik:GridBoundColumn в моем telerik:RadGrid в виде строкового типа с некоторыми кодами XML.

Как я могу показать этот столбец (необработанный XML) в этом RadGrid без рендеринга?

Мои проблемы: мое направление сетки по некоторым причинам справа налево ...
поэтому сначала я должен изменить направление 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> я должен изменить все < на &lt; и > на &gt; в моей базе данных, что невозможно.

1 Ответ

3 голосов
/ 22 ноября 2011

Добавить обработчик для onItemDataBound для вашей Grid

<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">

И codebehind:

 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);
            }

  }

Должен помочь.

...