JavaFX隐藏tableview中列的文本

时间:2014-05-09 18:36:03

标签: text javafx hide tableview

我有一个tableview,我想在第一列显示一个图像。我的问题是我无法对列进行排序。我的想法是在列中设置文本并隐藏文本,使其仅用于正确的排序集。有没有办法做到这一点?或者我的问题可能有哪些其他解决方案?

3 个答案:

答案 0 :(得分:0)

我认为这是您想要做的完美示例。如果您有任何问题,请告诉我。 Check here

答案 1 :(得分:0)

我将看看TableColumn.setCellValueFactory()和TableColumn.setCellFactory()。另一个用于提供实际的单元格值(用于排序!),后者用于提供渲染。

换句话说:如果需要排序顺序,则一定不要更改内容,而只能更改单元格渲染。上面提到的方法可以让您做到这一点。

希望有帮助...

答案 2 :(得分:-3)

你可以使用text-indent只使用CSS。您还需要将图像设置为css背景。您没有提供表格的代码,但下面是一些示例:

HTML:

<table width="100%" border="1" cellspacing="1" cellpadding="1">
  <tr>
    <td class="hidetext image">Text 1</td>
    <td>Some text to show</td>
  </tr>
  <tr>
    <td class="hidetext image">Text 2</td>
    <td>Some text to show</td>
  </tr>
  <tr>
    <td class="hidetext image">Text 3</td>
    <td>Some text to show</td>
  </tr>
  <tr>
    <td class="hidetext image">Text 4</td>
    <td>Some text to show</td>
  </tr>
</table>

CSS:

.hidetext {text-indent:-9000px}
.image {background:url(http://www.madisoncopy.com/images/jpeg.jpg) no-repeat;}

看看左栏中的文字没有显示(但实际上它只是在屏幕上缩进)。

看到这个小提琴:http://jsfiddle.net/D297P/