【问题标题】:Ultrawingrid layout超翼鸟布局
【发布时间】:2014-03-10 18:32:12
【问题描述】:

我正在研究超翼鸟。网格有两列名称和年龄。网格中有 300 多行,因此用户需要进行大量滚动。我想更改网格的布局以显示尽可能多的信息并且滚动最少。

例如,现在看起来像

 Name     Age
 Sam       25
 Bob       20
 Irvin     45
 Tanya     24
 Mark      30

怎么样,我打算显示为

Sam   25       Bob   20       Irvin   45
Tanya 24       Mark  30

本质上,在某种形式的矩阵中,我可以设置行数和列数,并且可以垂直滚动(而不是水平滚动)

我尝试使用 CardView 属性 http://help.infragistics.com/Help/Doc/WinForms/2012.1/CLR2.0/HTML/Infragistics2.Win.UltraWinGrid.v12.1~Infragistics.Win.UltraWinGrid.UltraGridBand~CardView.html 并设置其 MaxCardAreaCols 和 MaxcardAreaRows 设置,但它不起作用。我尝试通过将布局设置为 ColumnLayout 来遵循 Rowlayout 属性,但这也不起作用。

有什么方法可以实现吗?

【问题讨论】:

  • 我认为列表视图更适合您的想法。
  • 谢谢兰德。这种控制已经到位。我无法更改控件的选择。
  • Rand 是正确的,ListView 是一个更好的控件。您是否有理由无法更改您正在使用的控件?就使用网格而言,您需要数据源中的多个列来完成此操作,然后网格的排序和过滤也不会像您预期的那样工作。

标签: c# .net infragistics ultrawingrid


【解决方案1】:

可能对您有用的一个技巧是创建一个特殊的类,仅用于显示目的。

public class DisplayRow
{
    string Name1 { get; set; }
    string Age1 { get; set; }
    string Name2 { get; set; }
    string Age2 { get; set; }
    // So on...
}

但这会使逻辑复杂化,并且根据您正在做的事情的复杂性而变得非常丑陋。

【讨论】:

  • 我认为这种事情(从您的 DataSet 填充的自定义仅显示数据结构)是您最好的选择,尽管我会使用包含 Name1、Age1、Name2、Age2 列的临时 DataSet, Name3、Age3 并将其设置为您的 DataSource。
猜你喜欢
  • 1970-01-01
  • 2018-09-08
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2020-11-17
  • 1970-01-01
相关资源
最近更新 更多