2
我有一個表視圖,而我動態地添加列。必須這樣做,因爲我無法預測我需要多少或哪些列。複選框上表列將不被記錄點擊
一些列checkboxes但是當我運行我的應用程序不能在上面點擊。列和複選框設置爲可編輯的,但如果點擊複選框,則不會設置檢查。我錯過了什麼嗎?
更新
如何我(想)設置的複選框的狀態:
- (void)tableView:(NSTableView *)theTableView
setObjectValue:(id)theObject
forTableColumn:(NSTableColumn *)theColumn
row:(int)rowIndex
{
if (theTableView == resultsTableView) {
if ([[theColumn identifier] isEqualToString:CHCheckBoxColumnIdentifier]) {
NSInteger state = [[theColumn dataCell] state];
if (state == NSOnState) {
[[theColumn dataCell] setState:NSOffState];
} else {
[[theColumn dataCell] setState:NSOnState];
}
/*
NSLog(@"%@", theObject);
NSLog(@"%@", theColumn);
NSLog(@"%i", rowIndex);
*/
}
}
}
這樣做,但我做的NSButtonCell它不會設置的setState,所以我認爲這將是錯誤的方式去這樣做。 – ruipacheco 2010-01-27 11:40:33
當你設置你的狀態時,你是問表-reloadData(或-reloadDataForRowIndexes:columnIndexes:更精確)? – 2010-01-27 12:12:47
沒有。只需設置狀態即可。我應該問表重新加載數據?因爲這會重新加載陣列中的所有內容,我會丟失剛剛檢查過的複選框。 – ruipacheco 2010-01-27 12:17:24