テーブルの行のカラムは画面に表示したくないを設定方法

テーブルの行のカラムは画面に表示したくない時に、どうしても、アプリは更新と表示がある。 下記の手法で実現出来ると思いいます。 * setUnshowColumn(List columnNames)メソッドを使用する。 * setUnShowColumnIdFrom(int id)メソッドを使用する。 * setUnShowColumnIdTo(int id)メソッドを使用する。 * アダプターで、getCount()メソッドに、表示したくないカラムを取り除く。(推薦しない)

以下メソッドの説明:

●setUnshowColumn(List columnNames)メソッド:

  • パラメーターcolumnNamesは画面に表示したくないカラムのリスト。

例えば: * ステップ1XXXActivity.javaで

1
2
3
4
5
6
7
8
9
//画面に更新カラムを作成する
ColumnList columnList = new ColumnList();
columnList = db.createRowColumnList();
Row rowRight = new Row(columnList);
//画面に表示したくないカラムのリスト
List<String> columnNames = new ArrayList<String>();
columnNames.add(ItemParametersDB.FIELD_PROPERTY);
columnNames.add(ItemParametersDB.FIELD_ITEMCLASSCODE);
rowRight.setUnshowColumn(columnNames);
  • ステップ2:XXXAdapter.javaで、
1
2
3
4
5
@Override
public int getCount() {
  return row.getShowFieldSize();
  //return row.getShowCells().size();
}

●setUnShowColumnIdFrom(int id)メソッド:

  • パラメーターidはカラムの位置。
  • idは0 からです。
  • テーブルの作成時に、画面に表示したくないカラムの位置はid+1

●setUnShowColumnIdTo(int id)メソッド:

  • パラメーターidはカラムの位置。
  • idはテーブルの最後のレコードまでです。

●表示したくないカラムを取り除く:

  • テーブルの作成時、後の表示カラムに画面に表示したくないカラム。

例えば: * ステップ1:XXXDB.javaで、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//列のリストを作成
private void createAllColumnList(Table table) {
// 商品コード
addColumn(table, FIELD_ITEMCODE, res.getString(Res.TEXT_ITEMCODE),
INPUTMETHOD_AUTO, COLUMN_TYPE_STRING);
// スキャニングコード1
addColumn(table, FIELD_SCANCODE1, res.getString(Res.TEXT_SCANCODE1),
INPUTMETHOD_SCAN, COLUMN_TYPE_STRING);
// 商品名
addColumn(table, FIELD_ITEMNAME, res.getString(Res.TEXT_ITEMNAME),
INPUTMETHOD_TEXT, COLUMN_TYPE_STRING);
// 単価名...
addColumn(table, FIELD_UNITPRICENAME,
res.getString(Res.TEXT_UNITPRICENAME2_TO_10), INPUTMETHOD_LIST,
COLUMN_TYPE_STRING);
//以下画面に表示したくないカラム
// 単価名2
addColumn(table, FIELD_UNITPRICENAME2,
res.getString(Res.TEXT_UNITPRICENAME2), "", COLUMN_TYPE_STRING);
// 単価名3
addColumn(table, FIELD_UNITPRICENAME3,
res.getString(Res.TEXT_UNITPRICENAME3), "", COLUMN_TYPE_STRING);
// 単価名4
addColumn(table, FIELD_UNITPRICENAME4,
res.getString(Res.TEXT_UNITPRICENAME4), "", COLUMN_TYPE_STRING);
// 単価名5
addColumn(table, FIELD_UNITPRICENAME5,
res.getString(Res.TEXT_UNITPRICENAME5), "", COLUMN_TYPE_STRING);
// 単価名6
addColumn(table, FIELD_UNITPRICENAME6,
res.getString(Res.TEXT_UNITPRICENAME6), "", COLUMN_TYPE_STRING);
// 単価名7
addColumn(table, FIELD_UNITPRICENAME7,
res.getString(Res.TEXT_UNITPRICENAME7), "", COLUMN_TYPE_STRING);
// 単価名8
addColumn(table, FIELD_UNITPRICENAME8,
res.getString(Res.TEXT_UNITPRICENAME8), "", COLUMN_TYPE_STRING);
// 単価名9
addColumn(table, FIELD_UNITPRICENAME9,
res.getString(Res.TEXT_UNITPRICENAME9), "", COLUMN_TYPE_STRING);
// 単価名10
addColumn(table, FIELD_UNITPRICENAME10,
res.getString(Res.TEXT_UNITPRICENAME10), "", COLUMN_TYPE_STRING);
}
  • ステップ2:XXXAdapter.javaで、
1
2
3
4
5
@Override
public int getCount() {
  //9は画面に表示したくないカラムの数
  return row.getSize() - 9;
}