我正在使用 JIDE 网格以合适的格式加载巨大的数据表。我使用 JIDE 网格的主要原因是有一个有效的过滤和排序能力。那里有可用的过滤器/分类器,它们可以与旧的 uitable 挂钩,并且更容易配置,但大多数是按词法而不是按数字排序。我相信这是由于 Matlab 的底层数据类。
到目前为止,当我加载接近 500x35 的混合数据类型时,JIDEs 内置过滤运行良好,并且 uitable 加载速度甚至比 Matlab 中的旧版本 uitable 更快。但是我还想配置一些其他的东西,我在 JIDE 文档中没有找到相关的内容。
1) 有谁知道如何在 JIDE 实现中添加行号列?(就像旧/新可用配置中的行号标题一样)。我曾尝试使用 findobj 和检查(通过 Yair Altman)实用程序来找到它们并打开它们,但它们似乎完全丢失了。或者我错过了一些东西!
2)当我们从列下拉列表中选择“自定义过滤器”并选择“是”或“不等于”或“大于”时,它会显示一个日期选择选项卡,我们如何删除此选项卡。如果这不可能或很难,我该如何删除这些选项?
3) 最后,如何设置网格中显示的小数位数?
重现问题的代码。
% calling old uitable for performance reasons
f1=figure;
[h_Old,containter] = uitable('v0','data',magic(5),'ColumnNames',{'A','B',...
'C','D','E'},'Position',[5 5 500 400],'Parent',f1);
set(h_Old,'Units','normalized','Editable',false);
% Anotherway: JIDE grids even faster in setting up uitable with huge data
data=num2cell(magic(5));
jtable=com.jidesoft.grid.SortableTable(data,{'A','B','C','D','E'});
theader = com.jidesoft.grid.AutoFilterTableHeader(jtable);
theader.setAutoFilterEnabled(true)
theader.setShowFilterName(true)
theader.setShowFilterIcon(true)
jtable.setTableHeader(theader)
jscroll = javax.swing.JScrollPane(jtable);
f2=figure;
[h_old_2,container_2] = javacomponent(jscroll,[5,5,500,400],f2)
set(container_2,'Units','norm');
感谢您的时间和帮助。