-1

在 DevExpress AspxGridview 控件绑定

protected void ASPxGridView1_DataBinding(object sender, EventArgs e) 
{
     // in this event I want to reach LabelText and modify it as "text =Server.HtmlDecode(text);" 
}

但是我无法到达 LabelText。我试图找到解决方案,但从未找到。

请帮我。我被困住了......

<dx:GridViewDataColumn VisibleIndex="0" Width="100%" CellStyle-HorizontalAlign="Left"     CellStyle-VerticalAlign="Middle" Caption=" "> <EditFormSettings Visible="False" />     <DataItemTemplate> <table class="table_white"> <tr> <td style="text-align:left">
<asp:Label ID="LabelName" runat="server" Text='<%#Eval("name") %>'></asp:Label>
</td> </tr> <tr> <td style="text-align:left"> <asp:Label ID="LabelText" runat="server" Text='<%#Eval("text") %>'></asp:Label>

</td> </tr> <tr> <td style="text-align:left">
<hr style="border: 1px solid #CCCCCC" />
</td> </tr> </table> </DataItemTemplate>
<CellStyle HorizontalAlign="Center" VerticalAlign="Middle"></CellStyle>      </dx:GridViewDataColumn>
4

1 回答 1

1

您可以在标记中简单地做到这一点,如下所示:

Text='<%# Server.HtmlEncode( (string) Eval( "text" ) ) %>' />

请参阅:
如何将 HtmlEncode 与 TemplateFields、Data Binding 和 GridView
<%: %> Syntax for HTML Encoding in a repeater
HtmlEncode and Bind Description
ASP.NET "special" tags一起使用

如果您希望它访问标签控件然后使用网格HtmlRowCreated事件,那么您可以修改文本。请参阅下面的链接...

在 ASPxGridView 列的 dataitemtemplate 中查找控件
ASPxGridView - 如何在网格 DataItemTemplate 中查找控件 - 使用 DataBoundEvent 事件

例子

Protected Sub ASPxGridView1_DataBound(sender As Object, e As System.EventArgs) Handles ASPxGridView1.DataBound
        Dim y As Integer = 0
        Dim x As Integer = Me.ASPxGridView1.VisibleRowCount - 1
        For y = 0 To x
            Dim ilabel As ASPxLabel = CType(Me.ASPxGridView1.FindRowCellTemplateControl(y, Nothing, "lblCategory"), ASPxLabel)
            If ASPxGridView1.GetRowValues(y, "CategoryName").ToString() = "Confections" Then
                ilabel.ClientVisible = False
            End If
        Next
 End Sub
于 2013-09-12T14:17:22.393 回答