Как объединить столбцы, используя Telerik RadGrid control - PullRequest
5 голосов
/ 25 октября 2010

Я знаю, что мне нужно использовать столбцы шаблона, но я не совсем понимаю, как его использовать.

У меня есть источник данных, который возвращает коллекцию, я могу назначить каждому свойству в коллекции столбец.

Но как мне:

  • Объединить два столбца? такие как col.prop1 +' '+ col.prop2?
  • Выполнить некоторые методы для свойств, таких как col.prop1.ToString(overloaded)

Простой пример кода позади. Все, что я могу найти, это очень сложные элементы управления и прочее для примеров.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 18 ноября 2010

Вы также можете использовать вычисляемые столбцы

<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

1 голос
/ 04 марта 2011

Предполагая, что вы можете изменить класс, который используется в коллекции, я бы создал свойство "display".

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

0 голосов
/ 26 октября 2010

Единственный способ, который приходит мне в голову, - это использовать выражения привязки для свойств и методов кода, которые возвращают результаты из методов свойств через эти выражения привязки.

...