miniUI合并居中详解

如图:
在这里插入图片描述
上网查了miniUI的有关资料,想要将它们合并居中,达到以下的效果。
在这里插入图片描述

具体做法:
在表的头那一项加align="center",可以使其居中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处的grid是你的datagrid的id;
定义一个变量数组,里面是你需要合并的单元格,其中包含4个属性,rowIndex,columnIndex分别代表行和列索引,均是从0开始算,rowSpan和colSpan分别代表要合并的行和列的宽度。
(3)最后需要调用mergeCells()方法来进行单元格合并,(2)中只是指出哪些单元格需要按照什么要求进行合并,真正的合并是步骤(3)。

最终达到效果:
在这里插入图片描述
记录下来,仅供学习,谢谢各位大佬的指点。

附:日期的控件
在这里插入图片描述

miniUI数据渲染:
在这里插入图片描述

<div id="datagridMiniFit" class="mini-fit">
	   	<div id="markWeightEquipmentDatagrid" class="mini-datagrid" onLoad="load" style="width:100%;height:100%;" allowResize="true" ondrawgroup="onDrawGroup"
	       		url="markWeightEquipment.do?method=markWeightEquipmentList" idField="ID" multiSelect="true" showPager="false">
	        <div property="columns">
	            <div field="DTL_NM" name="DTL_NM" width="70" headerAlign="center" align="center" allowSort="false" renderer="onActionRenderer">大项</div>
	            <div field="MARKS" name="MARKS" width="70" headerAlign="center" align="center" allowSort="false" renderer="onRenderer" >分数</div>
	            <div field="DETAILED" name="DETAILED" width="100px" headerAlign="center" allowSort="false">明细项</div>
	            <div field="PLUS" name="PLUS" width="70" headerAlign="center"  allowSort="false" renderer="onActionRendererPlus">加分</div>
	            <div field="REDUCE" name="REDUCE" width="70" headerAlign="center"  allowSort="false" renderer="onActionRendererReduce">减分</div>
	        </div>
	    </div>
	 </div>
function onActionRenderer(e){
		 var grid = e.sender;
         var record = e.record;
         var uid = record._uid;
		 var rowData = grid.getRowByUID(uid);
		 /* var s = rowData.DTL_NM;
		 return s; */
		 if(rowData.CD==11){
			 var s = rowData.DTL_NM;
			 return s;
		 }if(rowData.CD==31){
			 var s = rowData.DTL_NM;
			 return s;
		 }if(rowData.CD==41){
			 var s = rowData.DTL_NM;
			 return s;
		 }if(rowData.CD==51){
			 var s = rowData.DTL_NM;
			 return s;
		 }if(rowData.DTL_NM=="合计"){
			 var s = rowData.DTL_NM;
			 return s;
		 }; 
	       
	 }
	
	 function onRenderer(e){
		 var grid = e.sender;
         var record = e.record;
         var uid = record._uid;
		 var rowData = grid.getRowByUID(uid);
		 if(rowData.CD==11){
			 var s = rowData.MARKS;
			 return s;
		 }if(rowData.CD==31){
			 var s = rowData.MARKS;
			 return s;
		 }if(rowData.CD==41){
			 var s = rowData.MARKS;
			 return s;
		 }if(rowData.DTL_NM=="合计"){
			 var s = rowData.MARKS;
			 return s;
		 }; 
		
	 }
	 
	 function onActionRendererPlus(e) {
         var grid = e.sender;
         var record = e.record;
         var uid = record._uid;
		 var rowData = grid.getRowByUID(uid);
         if(rowData.PLUS == "" && rowData.DETAILED!=""){
        	 var s = "";
        	 return s;
         }else if(rowData.DETAILED==""){
        	 var s = rowData.PLUS;
        	 return s;
         }else{
             var s = rowData.PLUS+"&nbsp;&nbsp;&nbsp;&nbsp;"+'<a href="javascript:editRow(\'' + uid + '\')">修改</a>';
        	 return s;
         };
     }
	 
	 function onActionRendererReduce(e) {
         var grid = e.sender;
         var record = e.record;
         var uid = record._uid;
		 var rowData = grid.getRowByUID(uid);
		 if(rowData.REDUCE == "" && rowData.DETAILED!=""){
        	 var s = "";
        	 return s;
         }else if(rowData.DETAILED==""){
        	 e.rowStyle = 'background-color:#FFC125';
        	 var s = rowData.REDUCE;
        	 return s;
         }else{
             var s = rowData.REDUCE+"&nbsp;&nbsp;&nbsp;&nbsp;"+'<a href="javascript:editRow(\'' + uid + '\')">修改</a>';
        	 return s;
         };
     }
	 
	
	 
	 function editRow(row_uid) {
         var row = grid.getRowByUID(row_uid);
         //alert(row.CLASSIF);
         if (row) {
             editWindow.show();
             var form = new mini.Form("#editform");
             form.clear();
             //form.loading();
             $.ajax({
                 url: "markWeightEquipment.do?method=markWeightEquipmentGet&CD="+row.CD,
                 success: function (text) {
                     form.unmask();
                     var t = eval('('+text+')');
                     //alert(t.REDUCE);
                     if(t.PLUS != ""){
                    	  t["VAL1"]=t.PLUS;
                          $("#stringText").show();
                     } else{
                    	 t["VAL1"]=t.REDUCE;
                    	 $("#stringText").show();
                     } 
                    // console.log(t);
                     form.setData(t);
                 },
                 error: function () {
                     alert("表单加载错误");
                     form.unmask();
                 }
             });

         };
     }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 你可以使用 `xlwings` 库中的 `Range` 对象来实现合并单元格并居中对齐的功能。具体操作如下: 1. 导入 `xlwings` 库 ```python import xlwings as xw ``` 2. 打开 Excel 文件并选定要操作的工作表 ```python # 打开 Excel 文件 wb = xw.Book('example.xlsx') # 选定要操作的工作表 sht = wb.sheets['Sheet1'] ``` 3. 合并单元格并居中对齐 ```python # 选定要合并的单元格 range_to_merge = sht.range('A1:C3') # 合并单元格 range_to_merge.merge() # 居中对齐 range_to_merge.api.HorizontalAlignment = -4108 # -4108 表示水平居中对齐 range_to_merge.api.VerticalAlignment = -4108 # -4108 表示垂直居中对齐 ``` 在上述代码中,`range_to_merge.api.HorizontalAlignment` 和 `range_to_merge.api.VerticalAlignment` 分别表示水平和垂直方向的对齐方式,其中 `-4108` 分别对应着 Excel 中的水平和垂直居中对齐方式。你可以根据需要修改这些参数来实现其他的对齐方式。 ### 回答2: xlwings 是一个用于在 Python 中操作 Excel 的库。要实现合并单元格并居中的功能,可以使用 xlwings 的 Range 对象来实现。 首先,我们需要打开 Excel 文件并连接到工作簿。可以使用 xlwings 的 `Workbook()` 函数来打开工作簿。例如: ``` import xlwings as xw wb = xw.Book('example.xlsx') # 打开名为 example.xlsx 的工作簿 ``` 然后,我们可以选择要合并的单元格范围。可以使用 `Range()` 函数来选择指定的单元格范围。例如,要选择从 A1 到 B2 的单元格,可以使用以下代码: ``` range = wb.sheets['Sheet1'].range('A1:B2') # 选择 Sheet1 工作表的 A1:B2 范围 ``` 接下来,我们使用 `.merge()` 方法来将选择的单元格范围合并为一个单元格。例如: ``` range.merge() # 将选择的单元格范围合并为一个单元格 ``` 最后,我们可以使用 `.horizontal_alignment` 和 `.vertical_alignment` 属性将合并后的单元格居中。例如,要将单元格居中对齐,可以使用以下代码: ``` range.api.HorizontalAlignment = -4108 # -4108 表示水平居中对齐 range.api.VerticalAlignment = -4108 # -4108 表示垂直居中对齐 ``` 注意,以上代码中的 -4108 是 Excel 中对应的常量,表示居中对齐。 完成以上步骤后,你可以保存并关闭 Excel 文件。例如,使用 `wb.save()` 方法保存并 `wb.close()` 方法关闭工作簿。 ``` wb.save() # 保存工作簿 wb.close() # 关闭工作簿 ``` 以上就是使用 xlwings 在 Python 中实现合并单元格并居中的方法。 ### 回答3: 使用xlwings进行Excel处理时,可以使用以下代码来合并单元格并将合并后的单元格内容居中显示: 首先,我们需要导入xlwings库,并连接到Excel应用程序: ```python import xlwings as xw # 连接到Excel应用程序 app = xw.App() ``` 然后,我们需要打开Excel文件: ```python # 打开Excel文件 wb = app.books.open('文件路径/文件名.xlsx') ``` 接下来,我们选择要合并单元格的区域,并将其进行合并操作: ```python # 选择要合并的区域 range_to_merge = wb.sheets['表名'].range('A1:B2') # 合并单元格 range_to_merge.merge() ``` 最后,我们可以调整合并后的单元格的内容居中显示: ```python # 设置合并后单元格的水平和垂直对齐方式为居中 range_to_merge.api.HorizontalAlignment = xw.constants.HAlign.xlHAlignCenter range_to_merge.api.VerticalAlignment = xw.constants.VAlign.xlVAlignCenter ``` 最后,我们将保存并关闭Excel文件,并关闭Excel应用程序: ```python # 保存并关闭Excel文件 wb.save() wb.close() # 关闭Excel应用程序 app.quit() ``` 通过以上代码,我们就可以使用xlwings库将Excel文件中的指定区域进行合并,并将合并后的单元格内容居中显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

゛Smlie。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值