自定义Cell“单元格”

#import "MyTableViewController.h"

#import "Data.h"

#import "MyCell.h"

@interface MyTableViewController ()

@property(nonatomic,strong)NSArray *allDatas;

@end


@implementation MyTableViewController


-(NSArray *)allDatas {

    if (_allDatas ==nil) {

        _allDatas = [DatagetData];

    }

    return_allDatas;

}



- (void)viewDidLoad {

    [superviewDidLoad];

 

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


#pragma mark - Table view data source


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

    return1;

}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    returnself.allDatas.count;

}



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    //把该行显示的数据对象获取出来

    Data *data =self.allDatas[indexPath.row];

    //通过自己实现的类方法创建 MyCell实例

    MyCell *cell = [MyCellcellForTableView:tableView];

    //将当前行对应的数据传入到当前单元格对象中

    

    //用参数给 cell中的 _data赋值

    //set方法中传入进去的数据对象中的内容给 cell中各个控件进行赋值

//    [cell setData:data];

    cell.data = data;

    

    [cell setupData:data];

    

    return cell;

}


-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return60;

}


data.h

@interface Data : NSObject

@property(nonatomic,strong)NSString *leftImageName;

@property(nonatomic,strong)NSString *rightImageName;

@property(nonatomic,strong)NSString *upLabelContent;

@property(nonatomic,strong)NSString *downLabelContent;


+(NSArray*)getData;

.M

@implementation Data

+(NSArray *)getData {

    Data *data = [[Dataalloc]init];

    data.leftImageName =@"head";

    data.rightImageName =@"head";

    data.upLabelContent =@"上面的内容1";

    data.downLabelContent =@"上面的内容1";

    

    Data *data2 = [[Dataalloc]init];

    data2.leftImageName =@"head";

    data2.rightImageName =@"head";

    data2.upLabelContent =@"上面的内容2";

    data2.downLabelContent =@"上面的内容2";

    return@[data, data2];

}

@end

.h

@interface MyCell :UITableViewCell


//数据模型

@property(nonatomic,strong)Data *data;


//设置数据的另外一种方法,自己写个方法,而不是利用setter方法

-(void)setupData:(Data*)data;



//实例方法通过实例调用如果一个实例方法可以创建一个新的本类实例,那么该类最有也要有个实例来调用方法



//通常创建对象的方法,都是类方法,因为类不需要实例调用,只是用类名调用即可

+(MyCell*)cellForTableView:(UITableView*)tableView;

.m

@interface MyCell()


@property (weak,nonatomic) IBOutletUIImageView *leftImageView;

@property (weak,nonatomic) IBOutletUIImageView *rightImageView;

@property (weak,nonatomic) IBOutletUILabel *upLabel;

@property (weak,nonatomic) IBOutletUILabel *downLabel;


@end


@implementation MyCell

//重新定义 data属性的setter方法

-(void)setData:(Data *)data {

    //用参数给 cell中的 _data赋值

    _data = data;

    //用传进来的数据各控件的内容赋值

    self.leftImageView.image = [UIImageimageNamed:data.leftImageName];

    self.rightImageView.image = [UIImage imageNamed:data.rightImageName];

    self.upLabel.text = data.upLabelContent;

    self.downLabel.text = data.downLabelContent;

}



-(void)setupData:(Data *)data {

    self.leftImageView.image = [UIImageimageNamed:data.leftImageName];

    self.rightImageView.image = [UIImage imageNamed:data.rightImageName];

    self.upLabel.text = data.upLabelContent;

    self.downLabel.text = data.downLabelContent;

}




+(MyCell *)cellForTableView:(UITableView *)tableView {

    //cell的重用方式一

    MyCell *cell = [tableViewdequeueReusableCellWithIdentifier:@"myCellID"];

    if (cell ==nil) {

        //[[NSBundle mainBundle]loadNibNamed:@"MyCell" owner:nil options:nil]

       //在当前工程文件夹下查找 MyCell.xib文件,并通过该文件创建文件中所有的视图,返回一个数组

        cell = [[NSBundlemainBundle]loadNibNamed:@"MyCell"owner:niloptions:nil].lastObject;

    }

    return cell;

}


- (void)awakeFromNib {

    // Initialization code

}


- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [supersetSelected:selected animated:animated];


    // Configure the view for the selected state

}



XIB的图片




用友华表CELL插件Demo 用友华表的CELL插件是一款基于ActiveX技术的解决中国式报表显示和打印的第三方控件, 和其它第三方ActiveX控件一样,用友华表CELL插件只能运行在客户端,只能使用JAVASCRIPT、VBSCRIPT客户端语言操纵控件,进行直接处理客户端数据,而客户的数据都存放在服务器端,这势必要求客户端的ActiveX控件与服务器端进行数据交互. 针对客户端ActiveX控件如何与服务器端进行数据交互,本文介绍了实现客户端与服务器端数据交互必须的两个步骤如下: 1、将客户端CELL插件中的数据上传至服务器端的数据库. 方法:在客户端通过Cell的编程接口SaveToBuffer得到数据保存在XML,使用XMLHTTP技术将数据传至服务器并保存在服务器数据库. 2、将服务器端数据库中的数据显示在客户端的CELL插件中. 方法:连接服务器数据库得到数据,通过Response对象将数据传送到客户端,再利用Cell的编程接口ReadFromBuffer展示在客户端. Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 • 具备Cell组件的所有特色功能,在浏览器中提供报表的显示和打印 • 网络报表界面美观,大大改善了浏览器中报表的输出效果 • 带有国际化数字签名,让用户使用的更安全、更放心 • 可将报表文件另存为华表文件或者Excel文件,从而可以进行进一步加工 • 支持ASP、ASP.Net、JSP、VBScript、JavaScript等语言开发 在开发工具中将Cell插件引入至工程,然后将Cell插件拖至页面中即可开始报表设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值