Ext4.2 grid插入复选框,行号,指定顺序

 

一、行号

var rm = new Ext.grid.RowNumberer({header : '',width : 28}),
或 {xtype: 'rownumberer', header: '', width: 28},

 

二、复选框

//创建checkBox 列
	var selModel = Ext.create('Ext.selection.CheckboxModel',{
		injectCheckbox: 1	  //插入的位置
        //mode: "SIMPLE",     //"SINGLE"/"SIMPLE"/"MULTI"
        //checkOnly: true     //只能通过checkbox选择
	});

 

在Ext4的grid中配置selModel,不是Ext3中的sm了

我选择在grid中配置selType和selModel,我想把配置都写在一起

var gridOrganization = Ext.create('Ext.grid.Panel', {
	    title: '组织机构列表',
	    region: 'center',
	    margins: '3 0 0 0',
	    store: stoOrganization,
	    selType: "checkboxmodel",
	    selModel: {
	        injectCheckbox: 1	//插入的位置
//	        mode: "SIMPLE",     //"SINGLE"/"SIMPLE"/"MULTI"
//	        checkOnly: true     //只能通过checkbox选择
	    },
	    columns: [
	        //new Ext.grid.RowNumberer({header : '',width : 28}),
	        {xtype: 'rownumberer', header: '', width: 28},
	        //selModel,
	        { header: 'id',  dataIndex: 'id', hidden: true},
	        { header: 'parentId', dataIndex: 'parentId', hidden: true, flex: 1 },
	        { header: '代码', dataIndex: 'code'},
	        { header: '名称', dataIndex: 'name' },
	        { header: '排序号', dataIndex: 'sortno' }
	    ],
//	    dockedItems: [{
//	        xtype: 'pagingtoolbar',
//	        store: stoOrganization,   // GridPanel中使用的数据
//	        dock: 'bottom',
//	        displayInfo: true
//	    }]
	    tbar: Ext.create('Ext.toolbar.Toolbar', {
	        items: [
	            {
	                // xtype: 'button', // 默认的工具栏类型
	                text: '新增',
	                id : 'btn_add',
					iconCls : 'addIcon',
					handler : function() {
						initAdd();
					}
	            }, {
	                text: '修改',
	                id : 'btn_modify',
	                iconCls : 'page_edit_1Icon',
					handler : function() {
						initModify();
					}
	            }, {
	                text: '删除',
	                id : 'btn_remove',
	                iconCls : 'page_delIcon',
					handler : function() {
						remove();
					}
	            }
	        ]
	    }),
	    bbar: Ext.create('Ext.PagingToolbar',{
            store: stoOrganization, 
            displayInfo: true, 
            items : ['-', '  ', pagesize_combo]
//            displayMsg: 'Displaying topics {0} - {1} of {2}', 
//            emptyMsg: "No topics to display", 
	    }),
	    listeners: {
	    	//'itemclick' : function(view,record,item,index,e,eOpts){ 
	    	itemdblclick: function(view,record,item,index,e,eOpts){
	    		//alert(record.data.id);
	    		formPanelDetails.getForm().reset();
	    		formPanelDetails.loadRecord(record);
	    		winDetails.show();
	    	}
	    }
	});

 

可以使用PySimpleGUI中的Checkbox类来实现table中的复选框,具体实现方法如下: 1. 首先,需要定义一个包含复选框的列,可以使用Table类中的Column类来实现,例如: ``` import PySimpleGUI as sg # 定义包含复选框的列 col = [[sg.Checkbox('', key=f'check{i}')] for i in range(10)] # 定义表格的布局 layout = [[sg.Table(values=[[f'row {i}'] + [f'col {j}' for j in range(10)] for i in range(10)], headings=['', *[f'col {i}' for i in range(10)]], auto_size_columns=False, col_widths=[5] + [10 for i in range(10)], num_rows=10, select_mode=sg.TABLE_SELECT_MODE_EXTENDED, enable_events=True, key='-TABLE-', columns=col)] # 创建窗口并运行 window = sg.Window('Table with Checkbox', layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break print(event, values) window.close() ``` 在上面的代码中,我们定义了一个包含10行10列的表格,其中第一列是复选框列,使用了Table类中的Column类来实现。在创建表格时,我们将复选框列的列表传递给了columns参数,这样就可以在表格中显示复选框了。 2. 接下来,需要在代码中处理复选框的状态变化,可以在Table的enable_events参数中设置为True,这样就可以监听表格中的事件了。例如,我们可以在上面的代码中添加以下代码来处理复选框的状态变化: ``` # 创建窗口并运行 window = sg.Window('Table with Checkbox', layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break # 处理复选框的状态变化 if event.startswith('check'): row = int(event[5:]) checked = values[event] print(f'Row {row} is checked: {checked}') window.close() ``` 在上面的代码中,我们使用了startswith方法来判断事件是否来自复选框列,如果是,则获取行号复选框的状态,并进行相应的处理。 总之,使用PySimpleGUI可以很方便地在table中添加复选框,并处理复选框的状态变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值