2011-02-18 44 views

回答

1

它看起來不像你想要的那樣,因爲MS Excel和iPhone中的表格是不同的。

iOS上的表格視圖有兩個項目,您可以配置它們來顯示數據 - 數據存儲和委託。

如果您可以從MS Excel中獲取所有數據,只需知道其行和列即可訪問任何特定數據,那麼該數據可以顯示在您的表格視圖中。

在表格視圖中有一個概念NSIndexPath,它是一個行號和相應節號的結構。 現在讓我們假設您的Excel文檔有一百名學生的記錄,每個記錄有三個字段:名稱,年齡,性別。在這種情況下,您將爲每個部分創建一個一百個部分和三個行的表格視圖。

現在,假設你有一個名爲myViewController顯示該表視圖視圖控制器,名爲myTableView

-(void)viewDidLoad { 

    myTableView.datasource = self; 
    myTableView.delegate = self; 
} 

現在擺在你能做到這一點,你需要做的MyViewController.h文件中的以下

@interface MyViewController: UIViewController <UITableViewDataSource, UITableViewDelegate> { 

現在,假設你有一個名爲allStudentsStudent類的對象數組,它有三個屬性:

NSString * name; 

NSUInteger * age; 

BOOL male; // yes if sex is male else NO 

現在你需要實現表視圖的數據源和委託方法:

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 

    return [allStudents count]; 
} 

-(NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section 
{ 
    return 3; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView 
     cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    Student * current = [allStudents objectAtIndex:NSIndexPath.section]; 
    cell.textLabel.text = current.name; 
    if(current.male) { 
     cell.detailTextLabel.text = [NSString stringWithFormat:@"%dyr M",current.age]; 
    } else { 
     cell.detailTextLabel.text = [NSString stringWithFormat:@"%dyr F",current.age]; 
    } 


    return cell; 
} 

您可以訪問表視圖的不同屬性,使其表現不同。

我希望這對你有所幫助。

+0

阿米特感謝給這個code.But我有一個疑問wht學生* current.please發送給我reply.thanks再次給我回復 – girish 2011-02-18 14:07:51