精华内容
下载资源
问答
  • 这里主要说说如何判断复选框是否选中,以及向集合中添加和移除id。   1、如果判断复选框被选中呢 一般我们在复选框中都是这样写: <td><input type="checkbox" ng-click="...

    使用angularJS框架的话都需要引入angular.min.js文件,这个想必各位大佬都懂得,我就不多说了。

    这里主要说说如何判断复选框是否选中,以及向集合中添加和移除id。

     

    1、如果判断复选框被选中呢

    一般我们在复选框中都是这样写:

    <td><input  type="checkbox" ng-click="updateSelect(entity.id)"></td>    

    首先在复选框的ng-click中的updateSelect方法里加入$event,这个$event代表的就是复选框控件本身。将复选框传给了updateSelect方法。这样我们在updateSelect中就可以这样做了:

    $scope.selectIds=[];//用户勾选的id集合
                
                //用户勾选复选框
                $scope.updateSelect=function($event, id){
                    if($event.target.checked){
                        
                    }else{
                       
                    }
                }

    上面$event.target就是找到复选框对象,然后调用它的checked方法判断复选框有没有没勾选,值为true代表被勾选,值为false代表取消勾选。

     

    2、怎样向selectIds集合中添加id值呢

    调用push方法,如下:

    $scope.selectIds.push(id);

     

    3、怎样从selectIds集合中移除id呢

    比如我们要删除一条数据,突然不想删了,取消了复选框的勾选,那怎么从selectIds中移除该条复选框的id值呢?

    首先我们要在集合中找到id在集合中对于的位置

    var index = $scope.selectIds.indexOf(id);

    然后调用splice方法,如下:

    $scope.selectIds.splice(index,1);//参数一:移除的位置,参数二:移除的元素个数

    完整代码如下,仅供参考,

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>品牌管理</title>
        <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
        <link rel="stylesheet" href="../plugins/bootstrap/css/bootstrap.min.css">
        <link rel="stylesheet" href="../plugins/adminLTE/css/AdminLTE.css">
        <link rel="stylesheet" href="../plugins/adminLTE/css/skins/_all-skins.min.css">
        <link rel="stylesheet" href="../css/style.css">
        <link rel="stylesheet" href="../plugins/angularjs/pagination.css">
    	<script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
        <script src="../plugins/bootstrap/js/bootstrap.min.js"></script>
        <script src="../plugins/angularjs/angular.min.js"></script>
        <script src="../plugins/angularjs/pagination.js"></script>
    
    	<script type="text/javascript">
    		var app=angular.module('test',['pagination']);
    		
    		app.controller('brandController',function($scope,$http){
    			
    			$scope.selectIds=[];//用户勾选的id集合
    			
    			//用户勾选复选框
    			$scope.updateSelect=function($event, id){
    				if($event.target.checked){
    					$scope.selectIds.push(id);//向集合中添加元素
    				}else{
    					var index = $scope.selectIds.indexOf(id);//查找id在集合中的位置
    					$scope.selectIds.splice(index,1);//参数一:移除的位置,参数二:移除的元素个数
    				}
    			}
    			
    			//删除
    			$scope.dele=function(){
    				
    				$http.get('../brand/delete.do?ids='+$scope.selectIds).success(
    					function(response){
    						if(response.success){
    							$scope.reloadList();//刷新
    						}else{
    							alert(response.message);
    						}
    					}		
    				);
    			}
    		});
    		
    	</script>
        
    </head>
    <body class="hold-transition skin-red sidebar-mini" ng-app="test" ng-controller="brandController">
      <!-- .box-body -->
                        <div class="box-header with-border">
                            <h3 class="box-title">品牌管理</h3>
                        </div>
    
                        <div class="box-body">
    
                            <!-- 数据表格 -->
                            <div class="table-box">
    
                                <!--工具栏-->
                                <div class="pull-left">
                                    <div class="form-group form-inline">
                                        <div class="btn-group">
                                            <button type="button" class="btn btn-default" title="新建" data-toggle="modal" data-target="#editModal" ng-click="entity={}"><i class="fa fa-file-o"></i> 新建</button>
                                            <button type="button" class="btn btn-default" title="删除" ng-click="dele()"><i class="fa fa-trash-o"></i> 删除</button>           
                                            <button type="button" class="btn btn-default" title="刷新" onclick="window.location.reload();"><i class="fa fa-refresh"></i> 刷新</button>
                                        </div>
                                    </div>
                                </div>
                                <div class="box-tools pull-right">
                                    <div class="has-feedback">
    							                                         
                                    </div>
                                </div>
                                <!--工具栏/-->
    
    			                  <!--数据列表-->
    			                  <table id="dataList" class="table table-bordered table-striped table-hover dataTable">
    			                      <thead>
    			                          <tr>
    			                              <th class="" style="padding-right:0px">
    			                                  <input id="selall" type="checkbox" class="icheckbox_square-blue">
    			                              </th> 
    										  <th class="sorting_asc">品牌ID</th>
    									      <th class="sorting">品牌名称</th>									      
    									      <th class="sorting">品牌首字母</th>									     				
    					                      <th class="text-center">操作</th>
    			                          </tr>
    			                      </thead>
    			                      <tbody>
    			                          <tr ng-repeat="entity in list">
    			                              <td><input  type="checkbox" ng-click="updateSelect($event, entity.id)"></td>			                              
    				                          <td>{{entity.id}}</td>
    									      <td>{{entity.name}}</td>									     
    		                                  <td>{{entity.firstChar}}</td>		                                 
    		                                  <td class="text-center">                                           
    		                                 	  <button type="button" class="btn bg-olive btn-xs" data-toggle="modal" data-target="#editModal" >修改</button>                                           
    		                                  </td>
    			                          </tr>
    									  
    			                      </tbody>
    			                  </table>
    			                  <!--数据列表/-->     
    			                  
    			                  <!-- 分页控件 -->                   
    							  <tm-pagination conf="paginationConf"></tm-pagination>
    							 
                            </div>
                            <!-- 数据表格 /-->
                            
                            
                            
                            
                         </div>
                        <!-- /.box-body -->
             
    <!-- 编辑窗口 -->
    <div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog" >
    	<div class="modal-content">
    		<div class="modal-header">
    			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    			<h3 id="myModalLabel">品牌编辑</h3>
    		</div>
    		<div class="modal-body">		
    			<table class="table table-bordered table-striped"  width="800px">
    		      	<tr>
    		      		<td>品牌名称</td>
    		      		<td><input  class="form-control" placeholder="品牌名称" ng-model="entity.name">  </td>
    		      	</tr>		      	
    		      	<tr>
    		      		<td>首字母</td>
    		      		<td><input  class="form-control" placeholder="首字母" ng-model="entity.firstChar">  </td>
    		      	</tr>		      	
    			 </table>				
    		</div>
    		<div class="modal-footer">						
    			<button class="btn btn-success" data-dismiss="modal" aria-hidden="true">保存</button>
    			<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
    		</div>
    	  </div>
    	</div>
    </div>
       
    </body>
    </html>

     

    展开全文
  • java poi框架导出excel如何插入特殊字符(复选框勾选) ...正常手动excel插入复选框勾选是如何操作的 1.选择 2.找到Wingdings 2字体 就可以手动插入一个check的复选框了 poi框架导出如何设置 1.要注

    java poi框架导出excel如何插入特殊字符(复选框勾选)

    背景:

    google了好久java导出excel如何导出复选框勾选状态,没有找到可行的结果,实际操作了一下,要不就是导不出,要不就是导出之后不正确。
    先看看要导出的excel格式吧

    在这里插入图片描述

    就是一个单元格中包含了中文和方框的符号,根据后台结果,如果是true,需要在方框内打勾。

    正常手动在excel中插入复选框勾选是如何操作的

    1.选择
    在这里插入图片描述

    2.找到Wingdings 2字体
    在这里插入图片描述

    就可以手动插入一个check的复选框了

    poi框架导出如何设置

    1.要注意每个字符其实就是一个Unicode编码,checkbox在代码中表示如下:\u0052
    2.正常字体的\u0052编码对应的字符是R
    3.修改单元格内字体,如果修改的过长,中文字符就会变乱码,如果修改的过短,就不能正常展示我们插入的特殊符号
    4.我曾经尝试设置cell的font,但是发现会影响其它单元格的font,并且cell中包含的中文字符也会变成乱码,所以就放弃设置cell的font了

    代码如下:

    /**
     * 该方法是处理checkbox的
     */
    public RichTextString process(Cell cell, Object input, Font font) {
        RichTextString richTextString;
        // 设置字体名称
        font.setFontName("Wingdings 2");
        if (Objects.equals(input, true)) {
          richTextString = new HSSFRichTextString("是\u0052 否\u25A1");
          richTextString.applyFont(1, 2, font);
        } else {
          richTextString = new HSSFRichTextString("是\u25A1 否\u0052");
          richTextString.applyFont(4, 5, font);
        }
        return richTextString;
    }
        // font是通过workbook创建出来的,是不能new的
        Font font = workbook.createFont();
        // 此处省略自己封装的框架,value值就是上面方法返回的RichTextString
        cell.setCellValue((RichTextString) value);
        
    
    

    导出结果如图:

    在这里插入图片描述

    最后:

    至于纳税人识别号的方框内填数字,到现在也没好的方法来解决,手动插入还不会,更别提代码处理了,如果有人有更好的方案可以提出来,一起进步。

    展开全文
  • vant组件,复选框点击事件@change,这里的事件会监听事件参数,比如item.danxuan,当参数更改时,事件会监听         test代码 <!-- top ; --> <header-vue></header-vue> <!-- ...

    引入:

     <li v-for="(item,index) in cart">
                 
    
                        <!-- Card  -->
                        <van-checkbox  
                          v-model="item.danxuan" 
                          class="checkedBox"  
                          @change="singleChecked(item.danxuan,index)">
                        </van-checkbox>
                        <van-card
                            :title="item.pro_title"
                            desc="描述"
                            :num="item.buyNum"
                            :price="item.pro_price"
                            :thumb="imageURL"
                        >
                             <div slot="footer">                   
                                  <span class="xiaoji">小计:{{(parseFloat(item.pro_price)*parseFloat(item.buyNum)).toFixed(2)}}</span>
                                  <span><van-stepper v-model="item.buyNum" /></span>
                            
                              </div>
                        </van-card>
            
                       
              
                  </li>

    放在li里循环,加入danxan判断参数。引用card组件。--购物车提交订单页面

    vant组件,复选框点击事件@change,这里的事件会监听事件参数,比如item.danxuan,当参数更改时,事件会监听

     

     

     

     

    test代码

    <template>
      <div class="sort-page">
        <div class="home">
          <!-- top ; -->
          <header-vue></header-vue>
          <div class="home-content wrapper" ref="wrapper">
            <!-- 滚动 -->
            <div class="content">
              <ul style="min-height:900px; border:1px solid red;" class="checkBox-con">
                  <li v-for="(item,index) in cart">
                    <!-- <van-checkbox-group v-model="result"> -->
    
                        <!-- Card  -->
                        <van-checkbox  v-model="item.danxuan" class="checkedBox"  @change="singleChecked(item.danxuan,index)"></van-checkbox>
                        <van-card
                            :title="item.pro_title"
                            desc="描述"
                            :num="item.buyNum"
                            :price="item.pro_price"
                            :thumb="imageURL"
                        >
                             <div slot="footer">
                                <!-- <van-button size="mini">按钮</van-button> -->
                            
                                  <span class="xiaoji">小计:{{(parseFloat(item.pro_price)*parseFloat(item.buyNum)).toFixed(2)}}</span>
                                  <span><van-stepper v-model="item.buyNum" /></span>
                            
                              </div>
                        </van-card>
            
                        <!-- <div class="change-number">容器</div> -->
                    <!-- </van-checkbox-group> -->
                  </li>
                
              </ul>
             
            </div>
          </div>
    
       
          <div class="tijiao">
            <p class="checkAll">
              <i class="iconfont checkAllBtn" 
              :class="checkAll?'icon-checkboxround1':'icon-checkboxround0' " 
              v-model="checkAll" @click="choiceAll">全选</i>
            </p>
            <van-submit-bar
                :price="total"
                button-text="提交订单"
                @submit="onSubmit"
              />
          </div>
        </div>
        <!-- ; -->
        <!-- <bottom-nav></bottom-nav> -->
      </div>
    </template>
    <script>
    import BScroll from 'better-scroll'
    import HeaderVue from '../../components/common/header/Header.vue'
    
    import { Card,Checkbox, CheckboxGroup,SubmitBar,Stepper} from 'vant';
    export default {
      name: 'HelloWorld',
      components:{ 
        HeaderVue, 
        [Card.name]:Card,
        [Checkbox.name]:Checkbox,
        [CheckboxGroup.name]:CheckboxGroup,
        [SubmitBar.name]:SubmitBar,
        [Stepper.name]:Stepper,
      },
      data () {
        return {
          msg: 'Welcome to Home.vue App sss',
          imageURL:'ss',
          result:[1,1],
          checked:null,
          checkAll:true,
          cart:'',
          total:0,
        }
      },
      mounted(){
        // 初始化
        this.scroll = new BScroll(this.$refs.wrapper,{
          scrollY:true,
          click:true,//
        })
        this.getDetail();
      },
      methods:{
        getDetail:function(){
          let sum = 0;
    
          let cart = JSON.parse(window.localStorage.getItem("cartLocal"));
    
    
          // 价格:
          for(let value of cart){
            console.log(value)
            value['danxuan'] = true;  
            sum += value.pro_price*value.buyNum
          }
          this.total = sum*100; 
          
          this.cart = cart;
          // 让checked 等于购物车里的商品种类
          this.checked = cart.length;
          
        },
       
        singleChecked:function(checked,index){
         
            let p = parseFloat(this.cart[index]['pro_price'])*parseFloat(this.cart[index]['buyNum'])
           
            if (!checked) {
              
              this.checked -=1;
              this.cart[index].danxuan = false;
              this.total -= (p)*100  
            }
            else{
             
              this.checked += 1;
              this.cart[index].danxuan = true;
              this.total += (p)*100  
            }
             console.log("this.checked = " + this.checked)
            // 判断checked的值是否还等于商品种类数目,
           if (this.checked == this.cart.length) {
              this.checkAll = true;
           }else{
              this.checkAll = false;
           }
    
    
        },
        choiceAll:function(checkAll){
    
          this.checkAll = !this.checkAll;
          if (this.checkAll) {
        
            for(let val of this.cart){
                val['danxuan'] = true;
            }
          }else{
    
            for(let val of this.cart){
                val['danxuan'] = false;
            }
          }   
         
        },
    
      }
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style>
      .home-page{}
      .home{
        width: 100%;
        height: 92vh;
      }
      .header{
        width: 100%;
        height: 6vh;
        border-bottom: 1px solid #ddd;
      }
      .home-content{
        height: 86vh;
        border: 1px solid #000;
        overflow: hidden;
      }
      /* checkBox-con */
      .checkBox-con{
         padding: 0.6rem;
      }
      .checkBox-con li{
        /*position: relative;*/
          display: flex;
        align-items: center;
        justify-content: space-between;
    
      }
    
    /*vant框架修改样式*/
    
      .van-card{
        width: 85%;
        /*background-color: #fff;*/
      }
      .van-card__footer>div{
        display: flex!important;
        align-items: center;
        justify-content: space-around;
      }
    
      /* end of vant框架修改样式============over========*/
      /* tijiao 提交订单按钮组*/
      .tijiao{
        display: flex;
        align-items: center;
        position: relative;
      }
      .xiaoji{
        padding: 0 0.6rem;
        font-size: 0.8rem;
      }
      .checkAll{
        display: block;
        height: 50px;
        line-height: 50px;
        position: fixed;
        bottom: 0;
        left: 0;
        border: 1px solid red;
        z-index: 2555;
      }
      .checkAllBtn{
        /*line-height: */
        font-size: 1.1rem;
        
      }  
      .icon-checkboxround1{
        /*line-height: */
        font-size: 1.1rem;
        color: #06bf04;
        
      }
    
      /*.van-submit-bar*/
      .van-submit-bar{
        position: fixed;
        bottom: 0;
        right: 0;
        opacity: .3;
    
      }
    
    </style>
    

    test02 :

     

    展开全文
  • 组合框里添加复选框的方法

    千次阅读 2013-06-18 21:00:29
    组合可以看作是列表和文本框的组合,因其占据的空间少,使用操作方便,常被界面设计人员用于界面开发设计有限个输入的条件下,组合常用来代替文本框,这样从用户使用角度来看,更趋人性化,所见即所得。...

    转自:http://blog.csdn.net/lazydreamhunter/article/details/9007283

    组合框可以看作是列表框和文本框的组合,因其占据的空间少,使用操作方便,常被界面设计人员用于界面开发设计中,在有限个输入的条件下,组合框常用来代替文本框,这样从用户使用角度来看,更趋人性化,所见即所得。然好的控件永远敢不上应用的步伐,有时常规控件并不能满足应用的需要,经常需要在现有的控件上做扩展。有些应用需要在组合框的列表框的每一项前加复选框,以便可以控制列表框每一项的状态(选中还是未选中),显然现有的组合框(列表框+文本框的组合)不能满足应用要求。那么怎么得到一个超强组合框(列表框+文本框+复选框的组合)呢?这种组合框既要有一般组合框的功能,又要有复选框的功能。接下来,我将介绍一种在组合框里添加复选框的方法:

    先贴出图,让大家一睹为快,接下来介绍下它的实现方式,首先看看QComboBox增加项的方法:

    1. void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())   
    void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant()) 

    第一个参数在项的前面加图片,第二个参数是项的名字,第三个参数可以给项一个私有数据,如保存项的状态。

    从addItem方法,第一个参数可以在项前添加图片,第三个参数可以保存项的状态,那么我们可以准备两幅图片,1幅是没打钩的复选框,1幅是打钩的复选框,用第三个参数来保存复选框的状态,当第三个参数的状态为选择的状态时,显示打勾的复选框,否则显示不打钩的复选框。看起来这种方法可行,不过要实现复选框功能,还的解决以下几个问题:

    1.当鼠标单击复选框图片时,需要计算鼠标是单击了那一项

    2.确定了单击的项后,还要能取出该项的状态(通过addItem的第三个参数设置的状态)

    3.再根据项的状态,更新该项的图标,并且更改该项的状态

    前面3点实现后,复选框的基本功能就实现了,当鼠标在复选框上单击时,复选框的图标就会改变,若之前是选中状态,则单击后变为非选中状态,若之前是非选中状态,则单击后变为选中状态。但是还没有完,这样的复选框还是个中看不中用的复选框,还需要给外界提供一个接口,当复选框状态改变了,要提供1个通知接口,要不然使用该控件的用户就必须定时轮询所有的复选框的状态了,很显然这不是一个好的设计。

    4.当项状态改变了,还要能对外提供1个项状态改变的接口。

    有了上面的思路,下面来看看实现:

    1. 头文件  
    2. #ifndef _CHECK_COMBOX_H  
    3. #define _CHECK_COMBOX_H  
    4.   
    5. #include <qcombobox.h>  
    6. class CCheckCombox : public QComboBox  
    7. {  
    8.     Q_OBJECT  
    9. public:  
    10.     CCheckCombox(QWidget *parent = NULL);  
    11.     void appendItem(const QString &text, bool bChecked);  
    12.     void hidePopup();  
    13.   
    14. protected:  
    15.     void mousePressEvent(QMouseEvent *e);  
    16.   
    17. signals:  
    18.     void checkedStateChange(int index, bool bChecked);  
    19.   
    20. private:  
    21.     void updateIndexStatus(int index);  
    22.   
    23. };  
    24. #endif  
    头文件
    #ifndef _CHECK_COMBOX_H
    #define _CHECK_COMBOX_H
    
    #include <qcombobox.h>
    class CCheckCombox : public QComboBox
    {
        Q_OBJECT
    public:
        CCheckCombox(QWidget *parent = NULL);
        void appendItem(const QString &text, bool bChecked);
        void hidePopup();
    
    protected:
        void mousePressEvent(QMouseEvent *e);
    
    signals:
        void checkedStateChange(int index, bool bChecked);
    
    private:
        void updateIndexStatus(int index);
    
    };
    #endif

    我们定义了1个类CCheckCombox,派生自QComboBox。通过appendItem来给组合框增加项;hidePopup是QComboBox的虚函数,该函数实现组合框的列表框隐藏,我们的目的是,当鼠标单击列表项前的复选框时,不让列表框隐藏,只更改复选的图标,所以需要重载hidePopup;mousePressEvent 是鼠标单击事件, 这也是父类的的虚函数,重载它是为了确定鼠标是否单击了复选框,单击了就要更改复选框状态;updateIndexStatus大家应该猜到了,该函数就是实现更改项的状态的函数;checkedStateChange这是一个信号,负责在项状态改变的时候,发送项状态改变信号,提供给外界一个应用接口。下面我们来看看实现:

    1. 源文件  
    2. #include "checkcombox.h"  
    3. #include <QMouseEvent>  
    4. #include <qdebug.h>  
    5. #include <qabstractitemview.h>  
    6. CCheckCombox::CCheckCombox(QWidget *parent) : QComboBox(parent)  
    7. {  
    8.   
    9. }  
    10.   
    11. void CCheckCombox::appendItem(const QString &text, bool bChecked)  
    12. {  
    13.     QIcon icon;  
    14.     if (bChecked)  
    15.         icon.addFile(":/check.png");  
    16.     else  
    17.         icon.addFile(":/uncheck.png");  
    18.     addItem(icon, text, bChecked);  
    19. }  
    20.   
    21. void CCheckCombox::updateIndexStatus(int index)  
    22. {  
    23.     bool bChecked = itemData(index).toBool();  
    24.     if (bChecked)  
    25.         setItemIcon(index, QIcon(":/uncheck.png"));  
    26.     else  
    27.         setItemIcon(index, QIcon(":/check.png"));  
    28.     setItemData(index, !bChecked);  
    29.     emit checkedStateChange(index, !bChecked);  
    30. }  
    31.   
    32. void CCheckCombox::mousePressEvent(QMouseEvent *e)  
    33. {  
    34.     int x = e->pos().x();  
    35.     int iconWidth = iconSize().width();  
    36.     if (x <= iconWidth)  
    37.     {  
    38.         int index = currentIndex();  
    39.         updateIndexStatus(index);  
    40.     }  
    41.     else  
    42.         QComboBox::mousePressEvent(e);  
    43. }  
    44.   
    45. void CCheckCombox::hidePopup()  
    46. {  
    47.     int iconW = iconSize().width();  
    48.     int x = QCursor::pos().x() - mapToGlobal(geometry().topLeft()).x() + geometry().x();  
    49.     int index = view()->selectionModel()->currentIndex().row();  
    50.     if (x >= 0 && x <= iconW)  
    51.     {  
    52.         updateIndexStatus(index);  
    53.     }  
    54.     else  
    55.     {  
    56.         QComboBox::hidePopup();  
    57.     }  
    58. }  
    源文件
    #include "checkcombox.h"
    #include <QMouseEvent>
    #include <qdebug.h>
    #include <qabstractitemview.h>
    CCheckCombox::CCheckCombox(QWidget *parent) : QComboBox(parent)
    {
    
    }
    
    void CCheckCombox::appendItem(const QString &text, bool bChecked)
    {
        QIcon icon;
        if (bChecked)
            icon.addFile(":/check.png");
        else
            icon.addFile(":/uncheck.png");
        addItem(icon, text, bChecked);
    }
    
    void CCheckCombox::updateIndexStatus(int index)
    {
        bool bChecked = itemData(index).toBool();
        if (bChecked)
            setItemIcon(index, QIcon(":/uncheck.png"));
        else
            setItemIcon(index, QIcon(":/check.png"));
        setItemData(index, !bChecked);
        emit checkedStateChange(index, !bChecked);
    }
    
    void CCheckCombox::mousePressEvent(QMouseEvent *e)
    {
        int x = e->pos().x();
        int iconWidth = iconSize().width();
        if (x <= iconWidth)
        {
            int index = currentIndex();
            updateIndexStatus(index);
        }
        else
            QComboBox::mousePressEvent(e);
    }
    
    void CCheckCombox::hidePopup()
    {
        int iconW = iconSize().width();
        int x = QCursor::pos().x() - mapToGlobal(geometry().topLeft()).x() + geometry().x();
        int index = view()->selectionModel()->currentIndex().row();
        if (x >= 0 && x <= iconW)
        {
            updateIndexStatus(index);
        }
        else
        {
            QComboBox::hidePopup();
        }
    }
    

     下面看看应用代码:

    1. #include "checkcombox.h"  
    2. int main(int argc, char *argv[])  
    3. {  
    4.     QApplication a(argc, argv);  
    5.     QWidget widget(NULL, Qt::Tool);  
    6.     widget.setWindowTitle("My ComboBox");  
    7.     CCheckCombox combox;  
    8.     QHBoxLayout *phLayout = new QHBoxLayout(&widget);  
    9.     phLayout->addWidget(&combox);  
    10.     widget.setLayout(phLayout);  
    11.     combox.appendItem("1", false);  
    12.     combox.appendItem("2", true);  
    13.     combox.appendItem("3", true);  
    14.     combox.appendItem("4", true);  
    15.     combox.appendItem("5", true);  
    16.     widget.show();  
    17.     return a.exec();  
    18. }  

     

    展开全文
  • self.setLayout(lay) # 将tree部件设置为该窗口的核心框架 def handleChanged(self, item, column): #当check状态改变时得到他的状态。 if item.checkState(column) == Qt.Checked: print "checked", item, ...
  • UIKit框架中没有checkbox复选框的组件,但是UIButton组件有UIControlStateNormal和UIControlStateSelected两个状态,并且有selected属性纪录按钮是否被选中,因此可以利用按钮组件很简单实现复选框的组件。...
  • 如题:有些项目会用到复选框但是可能样式问题或者其他问题不得不自己写一个为了完成任务的复选框,我是因为Vux框架中无法找到类似的复选框按钮,或者相似的但是布局方面有点不好设计,不好显示,以至于自己...
  • JDK1.7+Tomcat7.0+Eclipse+SSM+Bootstrap(含Bootstrap Table) 【心情很复杂,来一首“预谋”——专为“bug与我的相互伤害”做的歌——"反正它都不...两个forEach数据遍历相同的数据在复选框打钩jsp页面复选框更...
  • 单元格下拉框实现复选框多选 将复选框链接到带有宏的单元格 (Link Check Boxes to Cells With a Macro) You can use check boxes on a worksheet, and link the results to a cell. If the box is checked, the cell...
  • 添加复选框   @Override   public   void  initLayout() {   super .initLayout();     kDTable1 .checkParsed();   IColumn col = null ;   col = kDTable1 .addColumn(0);   col.setKey( "CheckBox" )...
  • JQuery EasyUI 隐藏datagrid表头的复选框

    千次阅读 2017-08-28 18:42:38
    使用JQuery EasyUI时,遇到这样一个需求:数据表格的行只能单选,而且每行的第一列要有复选框,并且隐藏表头的复选框
  •  然后会发现冻结列固定左侧,这确实是easyui原生的效果,现在先实现冻结列靠右侧固定: 网上有很多方式,其实只要添加样式如下即可: &lt;style&gt; .datagrid-view1 { left: auto; ...
  • elementUI表格复选框进行数据回显

    千次阅读 2019-04-23 14:33:58
    elementUI的表格增加复选功能并进行数据回显 听闻小姐治家有方,鄙人余生愿闻其详。 首先将elementUI的表格代码展示出来,这个样子 <el-table @sort-change='sortChange' ref="multipleTable" :row-key=...
  • 1、checkbox(复选框)  checkbox常用于多选的情况,比如批量删除、添加群聊等; DOM结构 checkbox示例 默认checkbox右侧显示,若希望左侧显示,只需增加.mui-left类即可,如下: checkbox左侧显示...
  • Jeesite DataGrid 显示复选框

    千次阅读 2019-04-28 14:38:09
    1、给 dataGrid 组件设置属性 showCheckbox: true 显示复选框 2、调用 getSelectRow 获取选中行
  • 组框、单选按钮和复选框都是对话框的常见控件。组框与静态文本框一样是CStatic类的对象,单选按钮和复选框与命令按钮一样都是CButton类的对象。 组框 当对话框上控件较多时,可以使用组框将一组相关的控件框起来,...
  • MFC——分组框,单选框,复选框

    千次阅读 2017-09-22 16:50:34
    组合框“Group Box”,用于里面放置多种控件,如单选框,或者复选框复选框“Check Box”,方形控件,鼠标点击打勾多选。 单选按钮“Radio button”,圆形按钮控件,多个控件间单选。 注意1:单选按钮之间的...
  • Ant design vue 表格设置选中行进行设置复选框选中

    万次阅读 热门讨论 2019-05-13 15:36:12
    需要点击该行行首的复选框, 无奈复选框稍小, 因此想要实现如题功能, 用的是这款ui框架, 主要看它的样式都比较好看, 和elementui很相像, 不知道谁模仿谁, 感觉这个做的好一点而且提供了一套后台权限管理系统模板. ...
  • struts创建动态复选框标签的使用

    千次阅读 2007-06-11 09:17:00
    用户界面设计复选框组不如它的同类 —— 多行选择框那样流行。它们基本上做的是同一件事,即选择映射到单一 name 属性的一组选项。当使用时,复选框执行的功能实际与多行选择框一样,但是它们占据的屏幕...
  • jquery获取复选框checkbox的值

    千次阅读 2016-10-17 13:30:35
    jQuery API : each(callback) :以每一个...:checked :匹配所有选中的被选中元素(复选框、单选框等,不包括select的option)   js: //js获取复选框值 var obj = document.getElementsByName("inte
  • struts动态复选框

    2007-05-08 10:00:00
    使用时,复选框执行的功能实际与多行选择框一样,但是它们占据的屏幕空间更多。当希望用户选择一个或多个选项之前能够看到所有选项的时候,这会很有好处。虽然选项不多的时候,多行选择框通常提供更好的...
  • 1、复选框 checkbox常用于多选的情况,比如批量删除、添加等; DOM结构 class="mui-input-row mui-checkbox"> checkbox示例 name="checkbox1" value="Item 1" type="checkbox" checked> 默认checkbox...
  • 问题描述:easyUI框架中,给数据展示表格添加一个复选框,实现可以逐个勾选功能。 首先页面布置如下: 引用js对其进行内容填充:$('#dg').datagrid({ nowrap : true,// 设置为true,当数据长度超出列宽时将会...
  • (1)创建页面,创建一个表格表格的第一列放入一组复选框,并实现复选框的全选、反选、提交操作。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>
  • 本篇文章主要给大家介绍HTML怎么设置复选框以及单选框的。 我们网站开发过程,有时会需要实现类似调查问卷的功能,那么既然是问卷,就避免不了单选或者多选的情况。对于新手朋友来说,或许不太清楚。 下面我们就...
  • iOS复选框——高雅的BEMCheckBox

    千次阅读 2018-08-13 15:16:45
    GitHub地址:BEMCheckBox ...BEMCheckBox 是一个开源库,可以轻松地为iOS创建漂亮,高度可定制的,有动画效果的复选框。 要求 需要 iOS 7或更高版本,APP 样例是 iOS 9 上创建的。 需要自动引用计...
  • 投诉举报项目动态加载单选框、复选框

    千次阅读 热门讨论 2014-09-21 15:58:03
     点击更多,会出现单选框和复选框(用大的红色框括住),这些单选框和复选框是动态从数据库取出的数据然后显示相应的区域的,比如办结状态里有已办结和未办结两种状态。办结状态是从数据表DictionaryField里查找...
  • VB 单选按钮、复选按钮和框架控件

    千次阅读 2020-09-16 10:05:20
    同一框架下的单选按钮有且只能被选中一项,而复选按钮则可以选择多项,也可以一项都不选择。下面来介绍这3个控件的常用属性和基本用法。 单选按钮Option 单选按钮的常用属性 对于通用属性而言,前面的课程已经介绍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,166
精华内容 12,066
关键字:

如何在框架中添加复选框