更改 Trirand JQGrid webcontrol 上的列的文本

Change the text of the columns on Trirand JQGrid webcontrol

我在我的网站上使用 trirand JQGrid webcontrol 来管理数据的外观。 这是参考: http://www.trirand.net/demo/aspnet/webforms/jqgrid/

问题是我想用多种语言本地化列的名称。我尝试了很多方法,但我发现的只是用于管理数据,而不是列。 有没有人知道如何从后面的代码更改列文本?

提前致谢。

您可以在标记中设置它,查看 JQGridColumn 的 Headertext 属性。 您还需要资源文件,每种语言一个,我们假设资源文件在此示例中命名为 "Resources"。

<trirand:JQGrid runat="server" ID="JQGrid1" DataSourceID="LinqDataSource1" 
            Width="600px" Height="260px" onsearching="JQGrid1_Searching" >
        <Columns>
            <trirand:JQGridColumn 
                DataField="OrderID" 
                Searchable="true"
                SearchToolBarOperation="IsEqualTo"
                DataType="Int"
                HeaderText="<% =Resources.OrderId %>" 
                PrimaryKey="True" 
                Width="50" />
            <trirand:JQGridColumn
                DataField="CustomerID" 
                HeaderText="<% =Resources.CustomerID%>"
                DataType="String"
                SearchType="DropDown" 
                SearchControlID="DropDownList1"
                SearchToolBarOperation="IsEqualTo"  />

因此,通过将我的问题发布到此处的论坛,我已经得到了答案:http://www.trirand.net/forum/default.aspx?g=posts&m=18916&#post18916

答案如下:

“您使用的语法只能在 HTML 中使用(将在 HTML 中打印资源的值)。这在 ASP.NET 中不受声明性支持WebForms 服务器控件,例如 jqGrid。

执行此操作的方法是使用代码。例如,在 Page_Load 中,您可以找到网格的列并将其 HeaderText 更改为等于资源,例如

JQGrid1.Columns.FromDataField("DataFieldName").HeaderText = Resources