Как вывести данные в вертикальном формате в Infragistics wingrid - PullRequest
0 голосов
/ 25 мая 2011

Обычно (и естественно) каждая запись в списке представляется в строке в элементе управления сеткой, но бывают случаи, когда мне нужно показать каждую запись в вертикальном формате, то есть в столбце.

Например, для простой сетки, такой как:

  • Имя Адрес электронной почты Возраст
  • John j@a.com 30 Адрес Джона
  • Joe j @ b.com 30 Адрес Джо
  • Tom t@c.com 30 Адрес Тома

Возможно ли показать его в Infragistics wingrid как:

  • Имя ДжонДжо Том
  • Электронная почта J@a.com j@b.com t@c.com
  • Возраст 30 30 30
  • Адрес Адрес Джона Адрес Джо Адрес Тома

Одна из причин этого состоит в том, что для каждой записи слишком много полей, и пользователь думает, что будет легче ориентироваться, если они все находятся в одном столбце, а не в одной строке.

Я знаю, что могу вручную преобразовать исходный источник данных и построить другой бизнес-объект в вертикальном формате, но это неудобно, потому чтоНовый BO на самом деле не представляет природу того, что он действительно означает.

Любая помощь очень ценится .. Спасибо.

Ответы [ 2 ]

2 голосов
/ 14 августа 2011

Нико прав. CardView должен делать то, что вы ищете здесь.

Пожалуйста, позвольте мне предоставить вам более подробную информацию об этой собственности:

  1. Это свойство определяет, находится ли Band в режиме CardView.
  2. После установки на любой бэнд все его потомки будут скрыты.
  3. В большинстве случаев лучшее место для установки - событие InitializeLayout вашего UltraGrid.

Чтобы получить желаемый вид, вы, вероятно, использовали бы следующий код:

private void ultraGrid1_InitializeLayout(object sender, InitializeLayoutEventArgs e)
{
      //Setting the desired Band to be in a CardView mode
      e.Layout.Bands[0].CardView = true;

      //Restrict the maximum card area rows
      e.Layout.Bands[0].CardSettings.MaxCardAreaRows = 1;

      //Decide if  the caption should be shown
      e.Layout.Bands[0].CardSettings.ShowCaption = false;

      //Remove the CardSpacing so it would like closer to what you are expecting            
      e.Layout.Bands[0].Override.CardSpacing = 0;
}

Для получения более общей информации о стиле CardView, пожалуйста, посмотрите здесь .

0 голосов
/ 22 июня 2011

Вы пытались установить свойство CardView как активное?

Это должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...