嗨,伙计们,我有问题,试图禁用编辑表后显示它。我会使用setEnabled,但我仍然希望表是可点击的,因为我正在显示和编辑它的行与文本字段的帮助下的内容。
我已经搜索并得到提示,我必须覆盖iscelledable()或使用DefaultTableModel。但是,现在的主要问题是我的表是使用rs2xml显示的,因为我实际上是将数据库表的内容加载到JTable中。下面是显示结果集中的表的代码段:
do {
//get the table...
attendanceTable.setModel(DbUtils.resultSetToTableModel(
} while (rs2.next());
rs2是我的结果集。
我尝试使用默认表模型…我尝试这样做:
do {
DefaultTableModel myTable = (DefaultTableModel)attendanceTable.getModel();
myTable.setModel(DbUtils.resultSetToTableModel(rs2));
} while (rs2.next());
但是给了我错误,因为在defaultTableModel下没有setModel方法。这就是我所理解的使用defaultTableModel…
关于重写isCellEditable(),有人问了一个类似的问题(但没有使用rs2xml显示表),提到这样做也使他的程序无法编辑表。
拜托,伙计们,我真的需要帮助…提前感谢我已经搜索并得到提示,我必须重写isCellEditable()
好的建议。
然而,现在的主要问题是我的表使用rs2xml显示,因为我实际上是将数据库表的内容加载到JTable
为什么这是个问题?您可以覆盖JTable的isCellEditable(...)
方法。
还有,为什么你的代码有一个do...while
循环?您只需要为JTable创建一个TableModel。DBUtils代码将执行循环,从ResultSet中读取所有数据并创建TableModel。
…试图在显示表后禁用对表的编辑。我会使用setEnabled,但我仍然希望表是可点击的,因为我正在显示和编辑它的行与文本字段的帮助下的内容。
覆盖isCellEditable()
不应该禁用点击单元格或选择单元格。它只是防止单元格被编辑。
我已经搜索并得到提示,我必须覆盖iscelledable()或使用DefaultTableModel。但是,现在的主要问题是我的表是使用rs2xml显示的,因为我实际上是将数据库表的内容加载到JTable中。
这应该与您是否可以覆盖和禁用编辑无关。
下面是显示结果集表的代码段:…
代码片段没有多大帮助。请张贴一个最小的代码示例程序,一个不需要数据库。
我尝试使用默认表模型…我尝试这样做:
这段代码对我来说没有意义,主要是因为你正在创建一个DefaultTableModel对象,然后立即忽略它——为什么?那么你正在使用一个类,DbUtils,我们不知道,所以不能帮助你。
关于重写isCellEditable(),有人问了一个类似的问题(但没有显示rs2xml表),提到这样做也使他的程序无法编辑表。
这就是我能给你的所有帮助,除了指导你去看教程,并要求更多更好的信息和代码。