如何使jTable的某一列数据隐藏invisible,但是在数据还可以取出来

解决方案 »

  1.   

    为什么要隐藏呢,你另外设定一个和jtable一一对应的二维数组,然后根据jtable里面选了哪一行哪一列,去对应的数组李拿出来不就行了
      

  2.   

    我的jTable里面的数据是从数据库里面动态读进去的,不是预先定好的,与jTable数据一一对应的是一个tableData_Vector,而它又是由rowData_Vector组成的,所以数据取的时候有点麻烦,又不能倒到二维数组里面;  因为jTable里面显示的数据有一个字段的值是interid,是数据库表的关键字,是不希望客户看见的,而在客户双击某条记录进行修改等操作的时候,还要用这个interid到数据库里面修改对应的记录  所以我希望这个interid能够是表中的一列,到时候用jTable1.getValueAt()来取出interid的值,而不希望客户看见,所以我希望这一列可以隐藏掉,但是TableColumnModel 和jTable 都没有这个Visible(boolean )这个函数,我试着把这一列的最大宽度设为0,但在jTable的界面上仍然看得见这一列,所以郁闷呀  请各位大侠多多帮忙!分不够可以加的!
      

  3.   

    自己扩展AbstractTableModel,
    里面封装你的数据实现
    重写里面的getValueAt,  getRowCount然后初始化JTable的时候用你自己这个TableModel典型的用MVC解决的问题
      

  4.   

    我做 JTable 的东西时一般都用个 Vector 做缓存。Vector 里面每项是代表一行的 数组,不是 Vector隐藏一行我是直接删掉它,反正数据在 Vector 里要再显示时只要从 Vector 里提取那行的 数组,再插入到 JTable 里我觉得这应该不算难啊
      

  5.   

    建议你做个数据中转处理吧。
    比如,你建立两个DataModel,A 和B,
    A用来做显示用。
    B用来做存放真实数据的地方。
      

  6.   

    既然做数据缓存处理
    那后台用 JTable 是不是麻烦?
    用 Vector 或其它更直接的存储方法岂更简单?
      

  7.   

    仔细看了你的需求:)
    楼上所有人的回答与解决都是错误的。
    包括我刚才提供的解决方案。:)你问题的主要矛盾在:“你非要用jTable1.getValueAt()来取数值,”而同时,又“不让这列数值显示在界面上”。
    这两个要求是永远不可能同时得到满足的。
    因为JTable.getValueAt()提供的是“界面显示上”某列某行的数值。取出的前提就是“他已经被显示了”。JTable属于swing组件。swing大量采用MVC结构,JTable是专负责显示用的。与数据存储无关。真正的数据存储在TableModel内。所以,你必须更换你的策略:“所以我希望这个interid能够是表中的一列,到时候用jTable1.getValueAt()来取出interid的值,而不希望客户看见,”
      

  8.   

    比较好的解决办法是:
    1.主键列单独保存。
    其他数据放在TableModel内,你自己写个TableModel。
    2.保存现在数据结构不动,扩展TableModel,自己筛选数据。
    如;
    public class MyTableModel extends javax.swing.table.AbstractTableModel
    ,重写方法:
        public int getColumnCount()和    public Object getValueAt(int row,int column)
      

  9.   

    有必要重载 public int getColumnCount(){}  吗?为什么?
      

  10.   

    试了一把,原来这个ColumnCount这么重要呀?我设成4,准备不出现的那一列立马就出来了,这个返回值是几列,表里面就出现几列?
      

  11.   

    飞约兄,真的假的呀?分数要那么多又不能当钱花,^_^ 
      
      兄弟是高手,提出来的见解都很不同凡响呀  不过兄弟对我的帮助可比这300分有价值多了,谢谢,真的很感谢兄弟能够这么认真,这么严谨的提出解决方案!令小弟佩服,佩服!小弟发短信总算没有问错人,谢谢!   放心,小弟还有4000多分,兄弟还有好多问题要问的,兄弟又是高手,不愁分数不漫漫转移到你哪里的!  兄弟有QQ吗?QQ多少?交个朋友吧