当前位置: 首页 > 工具软件 > UI Table Edit > 使用案例 >

matlab uitable 可以编辑,Matlab非常适合数据选择(Matlab uitable data selection)

贺乐意
2023-12-01

Matlab非常适合数据选择(Matlab uitable data selection)

我有从AScii文件中读取数据的Uitable。

我想使用鼠标选择列,也使用复选框。 我尝试了很多,但我无法弄清楚如何使用鼠标选择合适的列并获取该数据。

此外,我试图在uitable的最后一行插入复选框,因此当用户选择复选框时,选择特定列。

任何的想法?

I have Uitable with data read from a AScii file.

I want to select columns using mouse and also using checkboxes. I tried a lot but i cannot figure out how to select uitable column using mouse and getting that data.

Also I am trying to insert checkbox in the last row of the uitable, so when user selects checkbox, particular column is selected.

Any idea?

原文:https://stackoverflow.com/questions/11103354

更新时间:2020-04-13 21:04

最满意答案

您应该编辑表的CellSelectionCallback和CellEditCallback属性。

set(myTable,`CellSelectionCallback`,@CallBack)

要查看选择了哪些列/行,请使用您在回调中收到的事件数据。

function CallBack(hObj,evt)

disp(evt);

end

据我所知,当没有触发回调时,无法发现当前选择的列。

You should edit the CellSelectionCallback and the CellEditCallback properties of your table.

set(myTable,`CellSelectionCallback`,@CallBack)

In order to see what columns/rows were selected, use the event data that you receive in your callback.

function CallBack(hObj,evt)

disp(evt);

end

As far as I know, there is no way to discover what columns are currently selected when the callback is not fired.

2012-06-19

相关问答

看起来DATA是一个单元阵列。 您可能需要使用花括号对其进行索引: s = DATA{1,I};

d = DATA{2,I};

u = DATA{3,I};

p = DATA{4,I};

t = DATA{5,I};

r = DATA{6,I};

c = DATA{7,I};

a = DATA{8,I};

然后是: DATA{9,I} = X;

在功能结束时,我会这样做 guidata(hObject,handles)

有关更多详细信息,请参阅有关单元阵列中的访问数据的文档以及存储或检索GU

...

在Data属性上使用set应该可以做到这一点: result = f(handles, parameters);

set(handles.uitable, 'Data', result);

Using set on the Data property should do the trick: result = f(handles, parameters);

set(handles.uitable, 'Data', result);

最简单的解释是使用all字典作为数据源。 NSDictionary *results = [jsonString JSONValue];

NSDictionary *all = [results objectForKey:@"transport"];

// self.datasource would be a NSDictionary retained property

self.datasource = all;

然后获取您可以执行的部分数量: - (NSInteger)numberOfS

...

你可以使用html和unicode char在列标题中做你想要的。 您可以使用str2html FEX提交来创建html,并且您需要知道希腊字母的unicode字符: h = figure();

t=uitable(h);

str = str2html ( 'test', 'subscript', '1' );

set(t,'ColumnName',{str; char(945)})

Note: the html in this example is: test1

...

s=size(raw);

for i=1:s(1,1)

for j=1:s(1,2)

if strcmp(raw(i,j),'NaN')

raw(i,j)={' '};

end

if isequal(raw(i,j),{1})

raw(i,j)={'Yes'};

end

if isequal(raw(i,j),{0})

raw(i,j)={'

...

例: headers = cellstr(num2str((1:5)','header %d'))';

data = rand(10,5);

A = [headers ; num2cell(data)];

xlswrite('file.xls',A)

内容: >> A

A =

'header 1' 'header 2' 'header 3' 'header 4' 'header 5'

[ 0.34998] [ 0.28584] [ 0.1

...

我认为你的uitable1_CellSelectionCallback函数的定义没有任何问题。 我已经构建了一个简单的GUI,它只是一个非常uitable并且在调试模式下逐步执行回调,这就是实际发生的事情: 当您left-click单元格的表时,会正确调用uitable1_CellSelectionCallback 一切都直到set(hObject,'Data',adata); 指令和eventdata.Indices数组包含所选单元格的行和列索引(参考下图中的Function Call Stac

...

你可以用Matlab uicontrols / uitable等来做很多事情。如果你只是采用纯粹的java解决方案,例如精美的基于swing的JIDE Grids ,你可以获得最大的灵活性,这些都是在每个Matlab版本中预先打包的。 顺便说一句, uitable只不过是一张Jide表的精简版。 还有一些关于在Matlab中使用Jide的文章可以帮助您入门。 There's only so much you can do with Matlab uicontrols / uitable etc.

...

在将新消息添加到全局messarray之后的A类newMessageReceived 您将需要触发NSNotification -(void) newMessageReceived:(NSMutableArray *)messarraylocal

{

//in addition to your normal code, add the following

[[NSNotificationCenter defaultCenter] postNotificationName:@"New

...

您应该编辑表的CellSelectionCallback和CellEditCallback属性。 set(myTable,`CellSelectionCallback`,@CallBack)

要查看选择了哪些列/行,请使用您在回调中收到的事件数据。 function CallBack(hObj,evt)

disp(evt);

end

据我所知,当没有触发回调时,无法发现当前选择的列。 You should edit the CellSelectionCallba

...

 类似资料: