文档章节

cell一键全选和一键全不选

AngelMrKaye
 AngelMrKaye
发布于 2015/10/21 15:20
字数 199
阅读 20
收藏 0
//cell一键全选和一键全不选
-(void)allSelectClick:(UIButton *)button
{
    self.indexPaths = [[NSMutableArray alloc]init];
    if (self.isAllSelect) {
        for (NSInteger i = 0; i < self.dataSourceAry.count; i++) {
            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
            Entity *entity = self.dataSourceAry[indexPath.row];
            [self.indexPaths addObject:entity];
            [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
        }
        button.selected = YES;
        self.isAllSelect = NO;
    }else{
        
        for (NSInteger i = 0; i < self.dataSourceAry.count; i++) {
            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
            Entity *entity = self.dataSourceAry[indexPath.row];
            [self.indexPaths removeObject:entity];
            [self.tableView deselectRowAtIndexPath:indexPath animated:NO];
        }
        button.selected = NO;
        self.isAllSelect = YES;
    }
}
//删除按钮
-(void)deleteClick
{
//    [self.dataSourceAry removeObjectsInArray:self.indexPaths];
    for (Entity *entity in self.indexPaths) {
        [self.dataSourceAry removeObject:entity];
        [Dao.sharedInstance remove:entity];
    }
    [self.tableView reloadData];
    [self bottomDisAppear];
    if (self.dataSourceAry.count == 0) {
        self.navigationItem.rightBarButtonItem = nil;
    }
}
//消除cell选中
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Entity *entity = self.dataSourceAry[indexPath.row];
    if (tableView.editing) {
        //NSArray *indexPaths = [tableView indexPathsForSelectedRows];
        [self.indexPaths removeObject:entity];
        if (self.indexPaths.count < self.dataSourceAry.count) {
            UIButton *allSelectButton = (UIButton *)[self.view viewWithTag:AllSelectButonTag];
            allSelectButton.selected = NO;
            self.isAllSelect = YES;
        }
    }
}

//选中cell
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    Entity *entity = self.dataSourceAry[indexPath.row];

        //NSArray *indexPaths = [tableView indexPathsForSelectedRows];
        [self.indexPaths addObject:entity];
        if (self.indexPaths.count == self.dataSourceAry.count) {
            UIButton *allSelectButton = (UIButton *)[self.view viewWithTag:AllSelectButonTag];
            allSelectButton.selected = YES;
            self.isAllSelect = YES;
            [self allSelectClick:allSelectButton];
        }
}


© 著作权归作者所有

共有 人打赏支持
AngelMrKaye
粉丝 3
博文 11
码字总数 2805
作品 0
海淀
程序员
私信 提问
表头带有CheckBox可以实现全选的jtable

表的第一列都是checkbox,表头的checkbox可以实现全选和全不选的功能 一开始要设置一下tablemodel ,这样boolean会被自动显示成一个checkbox,icon也会被自动显示: table .setModel(new De...

leo-H
2011/11/17
0
0
jQuery:1.5.1,复选框应用(全选,全不选,反选,提交选中的值,全选/全不选)

ylbtech-jQuery:jQuery学习 jQuery语法实例 复选框应用 效果截图 jQuery:1.5.1,复选框应用(全选,全不选,反选,提交选中的值,全选/全不选)HTML代码返回顶部 $("#checkedAll").click(funct...

吞吞吐吐的
2017/11/08
0
0
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法

这篇文章主要介绍了jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法,通过使用prop方法代替attr方法来解决此问题,需要的朋友可以参考下 本文实例讲述了jQuery中...

码农般的学良
2016/11/25
3
0
JavaScript 基础--- (经典案例)

案例一:全选练习 ** 使用复选框上面一个属性判断是否选中 - checked属性 - checked=true:选中 - checked=false:不选中 创建一个页面 * 复选框和按钮 - 四个复选框表示爱好 - 还有一个复选...

姜白告
08/01
0
0
关于easyui combobox 全选功能

前端小白工作上遇到一个问题,easyui实现的管理台,这个弹出窗口中应用系统那栏是个多选select,现在因为下拉列表有200多项,产生了一个点开以后一键全选的需求,想了两天,没什么好的思路,...

代码工作者
2015/04/24
2.4K
7

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
41分钟前
1
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
57分钟前
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部