4

我的应用程序必须在 2D 网格中显示数据。网格可以有多个行和列(10 x 10 或 100 x 44)。并且网格必须显示列名和行名。

基本上我想要 Windows 窗体和 WPF 中的 DataGridView 之类的东西。

请提供帮助。谢谢你。

4

3 回答 3

5

您应该使用与您希望添加的列对应的尽可能多的 sTableLayout动态添加。为了使网格看起来,您应该添加一个可绘制形状作为每个带有白线的背景可绘制对象,以便拥有单元格。TableRowTextViewTextView

示例:在 layout.xml 中:

...
<TableLayout id="grid" *other properties*/>
...

具有所有必要属性的简单对象数据:

class Data {
  ArrayList<Row> rows;
  ArrayList<Column> column;
  //or some other properties you might need
}

Activity

private void fillGrid(Data dat,) {
  for(int i=0; i<dat.getRows().size(); i++) {
     TableRow row = new TableRow(this);
     //set row
     for(int j=0; j<dat.getColumns().size(); j++) {
         TextView actualData = new TextView(this);
         //set properties
         row.addView(actualData);
     }
     tableLayout.addView(row);
  }
}
于 2012-07-20T07:56:40.990 回答
3

如果您有一些确定的行数和列数并且这个数字不大,那么当您对TableLayout没问题时- 只需在循环中创建它或通过一些延迟的部分创建它。否则(如果需要的行数/列数不清楚或者您需要一些特定的滚动)将需要自定义控件。

于 2012-07-20T06:09:39.140 回答
0

我建议创建一个列表视图并在其中添加数据。

这是响应另一个问题的一个示例 用一组数据填充表

于 2015-07-12T13:57:24.007 回答