【问题标题】:Change the text of the columns on Trirand JQGrid webcontrol更改 Trirand JQGrid webcontrol 上的列文本
【发布时间】:2016-06-14 09:28:40
【问题描述】:

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

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

提前谢谢你。

【问题讨论】:

    标签: c# asp.net webforms jqgrid web-controls


    【解决方案1】:

    您可以在标记中设置它,查看 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"  />
    

    【讨论】:

    • 不幸的是它不起作用。它会在标题上按字面意思显示“”
    • 看这里serverside inline code expressions 使用资源文件的时候可能不一样.. &lt;%$ Resources:Resource, Arabic %&gt; 试试看
    • "Resource" 应该是你的资源文件名,即localization.resx --> &lt;%$ Resources:localization, Arabic %&gt;
    • 你一定做错了什么,因为这与 jqGrid 无关。您也可以尝试在您的 aspx 页面中的其他地方使用此表达式。尝试使用这样的列名创建一个静态类:` public static class Names { public const string ColumnID = "ID";公共常量字符串 ColumnName = "名称"; }`&lt;% = Names.ColumnName %&gt;
    【解决方案2】:

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

    这就是答案:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      相关资源
      最近更新 更多