0

データベースから取得したデータを示すデータベース グリッドがあります。

String[] fields={"Comp_Code_No","Building_No","Flat_No","Current_Reading","Previous_Reading","Consumption"};
editConsumptionGrid=new UIGrid("Select Comp_Code_No,Building_No,Flat_No,Current_Reading,Previous_Reading,Consumption from Consumption.empty_consumption",fields, MainApp.initDB);
editConsumptionGrid.getComponent().setPreferredSize(new Dimension(300,200));
gbc.gridx=0;
gbc.gridy=0;
gbc.ipadx=135;
gbc.ipady=70;
gbc.weightx=5;
gbc.gridwidth=0;
gbc.fill=GridBagConstraints.HORIZONTAL;
gridPanel.add(editConsumptionGrid.getComponent(), gbc);

ここで行っているのは、最初のパラメーターでクエリを渡し、2 番目のパラメーターでデータベース テーブルの列の名前を渡し、3 番目のパラメーターでデータベース接続オブジェクトを渡していることです。問題なく動作しています。消費列のみを設定する必要があります。つまりeditCinsumptionGrid、この場合は編集可能です。でグリッド全体を編集不可setEditable(false)に設定できますが、消費列のみを編集可能にし、残りをすべて編集不可にするにはどうすればよいですか?

4

2 に答える 2

1

その列の値とセルの数は動的であるため、実行できません。

falseすべてのセルに戻る必要はありません。最後の列を編集可能にしたいのでtrue、その列のインデックスに戻るだけです。

@Override
public boolean isCellEditable(int row, int col) {
    return col == getColumnCount() - 1;
}
于 2013-05-31T11:04:13.303 に答える