0

通常(并且自然地),列表中的每个条目在网格控件中的一行中显示,但是在某些情况下,我需要以垂直格式显示每个条目,即在一列中。

例如,对于像这样的简单网格:

  • 姓名 电子邮件 年龄 地址
  • 约翰 j@a.com 30 约翰的地址
  • 乔 j@b.com 30 乔的地址
  • 汤姆 t@c.com 30 汤姆的地址

是否可以在 Infragistics wingrid 中显示为:

  • 姓名约翰·乔·汤姆
  • 电子邮件 J@a.com j@b.com t@c.com
  • 年龄 30 30 30
  • 地址 约翰的地址 乔的地址 汤姆的地址

这样做的一个原因是因为每个条目的字段太多,并且用户认为如果它们都在同一列而不是同一行中会更容易导航。

我知道我可以手动转换原始数据源并以垂直格式构建另一个业务对象,但感觉很尴尬,因为新的 BO 并没有真正呈现它真正含义的本质。

非常感谢任何帮助..谢谢。

4

2 回答 2

2

尼科是对的。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 样式的更多一般信息,请查看此处

于 2011-08-14T19:25:57.690 回答
0

Did you try to set the CardView property as active?

This should solve your problem.

于 2011-06-22T13:16:53.403 回答