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