【问题标题】:How to merge columns using Telerik RadGrid control如何使用 Telerik RadGrid 控件合并列
【发布时间】:2011-04-30 07:28:12
【问题描述】:

我知道我需要使用模板列,但我不清楚如何使用它。

我有一个返回集合的数据源,我可以将集合中的每个属性分配给一列。

但是我该怎么做:

  • 合并两列?比如col.prop1 +' '+ col.prop2?
  • col.prop1.ToString(overloaded)等属性执行一些方法

一个简单的代码隐藏示例会有所帮助。我能找到的只是非常复杂的控件和示例。

谢谢。

【问题讨论】:

    标签: telerik radgrid telerik-grid


    【解决方案1】:

    我想到的唯一方法是对属性和代码隐藏方法使用绑定表达式,通过这些绑定表达式从属性方法返回结果。

    【讨论】:

      【解决方案2】:

      您也可以使用计算列

      <telerik:GridCalculatedColumn HeaderText="Test" UniqueName="Test" DataType="System.String"
           DataFields="Field1, Field2" Expression='{0} + " - " + {1}'></telerik:GridCalculatedColumn>
      

      http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/calculatedcolumns/defaultcs.aspx

      【讨论】:

        【解决方案3】:

        假设您可以修改集合中使用的类,我会创建一个“显示”属性。

        public string Prop1 { get; set; }
        public string Prop2 { get; set; }
        
        public string PropertiesFormatted
        {
          get
          {
            return this.Prop1 + " - " + this.Prop2;
          }
        }
        

        然后您可以将其分配给绑定列。我发现这更好,因为您不必担心软件不同区域的格式不同。基本上,它允许重复使用。

        另一种方法是创建一个模板列并使用绑定表达式。您可以在 MSDN 或 Telerik 的帮助中找到有关数据绑定表达式的信息,但您需要执行以下操作:

        <telerik:GridTemplateColumn UniqueName="TemplateColumn">
          <ItemTemplate>
            <span><%# DataBinder.Eval(Container.DataItem, "Prop1") %> - <%# DataBinder.Eval(Container.DataItem, "Prop2") %></span>
          </ItemTemplate>
        </telerik:GridTemplateColumn>
        

        编辑 这是一个 URL,可让您查看一些 Grid 模板内容:http://www.telerik.com/help/aspnet-ajax/grdcustomizewithgridtemplatecolumn.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多