如何禁用从结果集中显示的Jtable的单元格编辑



嗨,伙计们,我有问题,试图禁用编辑表后显示它。我会使用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表),提到这样做也使他的程序无法编辑表。

这就是我能给你的所有帮助,除了指导你去看教程,并要求更多更好的信息和代码。

相关内容

  • 没有找到相关文章

最新更新