固定表头列头
pyqt5 qsqltablemodel常用方法

在 PyQt5 中,QSqlTableModel是一个用于访问 SQL 数据库表格数据的模型类。
它提供了许多方法来处理数据库表格中的数据。
以下是一些QSqlTableModel常用的方法:1.构造函数:–QSqlTableModel(parent=None, db=None): 创建一个 QSqlTableModel 实例。
parent参数是可选的父对象,db参数是可选的数据库连接。
2.设置表名:–setTable(table): 设置模型的数据库表名。
3.提交所有修改:–submitAll(): 提交对模型的所有更改到数据库。
4.撤销所有修改:–revertAll(): 撤销对模型的所有更改。
5.插入记录:–insertRecord(row, record): 在模型中的指定行插入记录。
6.删除记录:–removeRow(row): 从模型中删除指定行。
7.根据条件过滤:–setFilter(filter): 设置一个用于过滤记录的筛选条件。
8.排序:–setSort(column, order): 根据指定列和排序顺序对记录进行排序。
9.设置编辑策略:–setEditStrategy(strategy): 设置编辑策略,例如QSqlTableModel.OnFieldChange或QSqlTableModel.OnManualSubmit。
10.设置头信息:–setHeaderData(section, orientation, value): 设置表头的数据,orientation参数指定是行头还是列头。
11.获取数据库中的数据:–select(): 从数据库中选择并检索数据。
12.设置字段的显示名称:–setHeaderData(column, orientation, value): 设置字段的显示名称。
13.获取记录数:–rowCount(): 返回模型中的记录数。
14.获取字段索引:–fieldIndex(fieldName): 根据字段名获取字段的索引。
EXCEL分页打印_表头表尾几行每页需保留

EXCEL 数扰分页打印实例在工作中经常会碰到EXCEL 中的数据要分页打印且每页头几行和最后几行都必乡保留,还要有页码。
这也是本人在铁塔工作过程中碰到的一种情况,与大家分享。
一、 实现工作目标将”订单打印版.xlsm”表中数据(如图1)分页打印(如图2)并隐藏第6行说明图1每页打印都包含此内容每页打印都包含此内容每页打印8行内容二、实际操作步骤1.按如下图设置单元格:3、新建打印模板文件4、按ALT+F11将下列代码粘贴在代码窗口中:Sub 订单打印PDF()If [订单总数] = 0 Then Exit SubDim twb As WorkbookDim i As IntegerDim j As IntegerDim k As IntegerDim m As IntegerDim n As IntegerDim Mystr1 As StringDim Mystr2 As String本行打印自动隐藏第6行隐藏后没有张2页空白行数为8行,并设置好行高,列宽等Set twb = Application.Workbooks.Add(ThisWorkbook.Path & "\DD_Mod.xlsx")Application.DisplayAlerts = FalseApplication.ScreenUpdating = Falsetwb.Sheets("铁塔需求订单确认表").Rows(6).Hidden = Truem = Int([订单总数] / 8)n = [余数]Mystr1 = "第"Mystr2 = "页"If n = 0 ThenFor k = 1 To mFor i = 1 To 8For j = 1 To 17twb.Sheets("铁塔需求订单确认表").Cells((i + 6), j) = Sheet1.Cells((i + 6 + (k - 1) * 8), j)Next jNext itwb.Sheets("铁塔需求订单确认表").PageSetup.CenterFooter = Mystr1 & k & Mystr2twb.Sheets("铁塔需求订单确认表").ActivateActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=TrueNext kElseIf [订单总数] < 8 ThenFor i = 1 To nFor j = 1 To 17twb.Sheets("铁塔需求订单确认表").Cells((i + 6), j) = Sheet1.Cells((i + m * 8 + 6), j)Next jNext itwb.Sheets("铁塔需求订单确认表").PageSetup.CenterFooter = Mystr1 & 1 & Mystr2twb.Sheets("铁塔需求订单确认表").ActivateActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ElseFor k = 1 To mFor i = 1 To 8For j = 1 To 17twb.Sheets("铁塔需求订单确认表").Cells((i + 6), j) = Sheet1.Cells((i + 6 + (k - 1) * 8), j)Next jNext itwb.Sheets("铁塔需求订单确认表").PageSetup.CenterFooter = Mystr1 & k & Mystr2twb.Sheets("铁塔需求订单确认表").ActivateActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=TrueNext kSheets("铁塔需求订单确认表").Range("a7:q14") = ""For i = 1 To nFor j = 1 To 17twb.Sheets("铁塔需求订单确认表").Cells((i + 6), j) = Sheet1.Cells((i + m * 8 + 6), j)Next jNext itwb.Sheets("铁塔需求订单确认表").PageSetup.CenterFooter = Mystr1 & m + 1 & Mystr2twb.Sheets("铁塔需求订单确认表").ActivateActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End IfEnd Iftwb.CloseSet twb = NothingApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub5.将宏代码窗口关闭,另存为启用宏的表格。
力控软件上位机软件配置与使用

总体来说数字化上位机软件是由标准化站控 平台和量油软件构成的。
标准站控平台的组成
1)标准站控平台包 括力控组态软件和 井场监控软件
2)整个标准化站控平台以 力控BCOM和SQL数据库 为数据接口
3)井口功图由RTU 驱动采集程序进 SQL数据库
4)井场数据(除功 图)由RTU驱动采 集进力控DBCOM
2、安装I/O驱动程序
选择【安装I/O驱动程序】按钮,系统将开始安装I/O驱动程序, 按照默认设置可进行安装。
3、安装数据服务程序
选择【安装数据服务程序】,系统将开始安装数据服务程序, 按照默认设置可进行安装。
4、安装扩展程序
选择【安装扩展程序】,系统将开始安装扩展程序,按照默认 设置可进行安装。
5)站内数据由力控 驱动采集进入 DBCOM
6)站内监控通过力 控进行显示与控制
7)井场数据通过井 场监控软件进行显 示与控制
油井计量软件的作用
油井计量软件是由长庆油田设计院开发,完 成功图计量与分析、功图向上级平台发送等一系 列功能。 油井计量软件与标准化站控平台软件互相配 合完成上位机平台所需要完成的一系列功能。由 标准化站控平台完成功图的采集和显示、由油井 计量软件完成功图的计量与分析、并将结果返回 给标准化站控平台。
注意:
•Excel文档中,文件页不能增减,不能调换位置,每页固定对应一 个基础信息表,表中非固定行为可以导入系统的参数,固定表头 中的信息只是用作用户信息输入时的参考,请注意不要录入重复 关键码,关键码一般是固定列中的内容。 •页表中所有信息项均为必填项,即使RTU厂商不同,也须使用其 默认值。 •填写excel时,如果名称中有下划线,应填写英文输入法的下划线 。 •井场信息中的站号统一为128。 •油井信息中的井代码为三位数的字符串。 •注水井的偏移按照现场调试人员实际设定的偏移填写。 •填写摄像头IP地址时,应根据现场实际情况,如果有中心服务器 ,IP填写为中心服务器IP;如果没有中心服务器,IP应填写视频服 务器的IP。
数据结构

第1章绪论1.1 什么是数据结构数据与数据之间的关系1.2 基本概念和术语1.基本定义(1).数据(Data) :是客观事物的符号表示。
在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素(Data Element) :是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。
(2)数据项(Data Item):一个数据元素可由若干个数据项组成。
数据项是数据的不可分割的最小单位。
数据项是对客观事物某一方面特性的数据描述。
数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。
2.举例如字符集合C={‘A’,‘B’,‘C’,…}--C表示字符对象;A ,B等表示数据元素;再如学生集合Students={“Zhangsan”, “Lisi”,…}Zhangsan(ID,name,age,grade,…)……--Students表示学生对象;“Zhangsan”、“Lisi”表示数据元素;Zhangsan的ID、name、age等表示数据项。
3.数据结构的形式定义数据结构的形式定义是一个二元组:Data-Structure=(D,S)其中:D是数据元素的有限集,S是D上关系的有限集4.逻辑结构与物理结构(1)数据元素之间的关系可以是元素之间代表某种含义的自然关系,也可以是为处理问题方便而人为定义的关系,这种自然或人为定义的“关系”称为数据元素之间的逻辑关系,相应的结构称为逻辑结构。
(2)数据结构在计算机中的表示(映像)称为数据的物理结构。
数据结构的存储方式1)顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构(关系)。
2)链式存储结构:在每一个数据元素中增加一个存放另一个元素地址的指针(pointer ),用该指针来表示数据元素之间的逻辑结构(关系)。
3)例:设有数据集合A={3.0,2.3,5.0,-8.5,11.0} ,两种不同的存储结构。
excel打印时固定表头的教程

excel打印时固定表头的教程
Excel中需要固定表头来进行打印,固定表头具体该如何操作呢?接下来是店铺为大家带来的excel打印时固定表头的教程,供大家参考。
excel打印时固定表头的教程:
打印时固定表头步骤1:打开一张长表。
打印时固定表头步骤2:在菜单栏里选择“文件”---->“打印预览”,可以看到首页的表头在第二页并没有。
打印时固定表头步骤3:关闭“打印预览”模式,在菜单栏选择“文件”--->“页面设置”,在弹出的页面设置对话框选择红色箭头所指的“工作表”。
打印时固定表头步骤4:可以看到有打印标题那里,单击红色箭头所指的“顶端标题”右边按钮。
在这里可以延伸一下,如果需要固定的部分在于左边,可以选择下面的“左边标题”进行操作。
打印时固定表头步骤5:可以看到鼠标变成一个小的黑色箭头,表明此时处于选择状态。
用鼠标拖选需要固定的行,然后单击编辑选框上的红色箭头所指按钮。
打印时固定表头步骤6:在顶端标题里,可以看到,选择固定的行数是1至3。
确定选择范围,在打印预览可以看到第二页有了表头,设置成功。
三级公共营养师实践技能知识点

一、膳食调查和评价1.24h回顾法目前是获得个人膳食摄入资料最常用的调查方法。
原理:通过询问的方法,使被调查对象回顾和描述在调查时刻以前24h摄入的所有食物的数量和种类,借助食物模型、家用量具或食物图谱对其食物摄入进行计算和评价。
优点:所用时间短、应答者不需要较高文化,能得到个体的膳食营养素摄入状况,对于人群营养状况的原因分析也非常有价值。
缺点:应答者的回顾依赖于短期记忆,对调查者要严格培训,不然调查者之间的差别很难标准化。
应用范围:24h回顾法可用于家庭个体的食物消耗状况调查,也适用于描述不同人群个体的食物摄入情况,包括散居的特殊人群调查。
是获得个人膳食摄入量的最常用调查方法。
实际工作中一般用3天24h连续调查法。
最典型的方法是使用开放式调查表进行面对面询问。
2.24h回顾法技术要点包括六个方面:(1)24h回顾法可用于家庭个体的食物消耗状况调查,也适用于描述不同人群个体的食物摄入情况,包括散居的特殊人群。
(2)实际工作中一般用3天24h连续调查法,每次15~40分钟,以面对面进行调查的应答率较高。
(3)询问方式包括面对面询问,使用开放式表格或编码表通过电话、录音机询问。
最典型的方法是使用开放式调查表进行面对面询问。
(4)对于所摄入的食物可进行量化估计。
一年中可进行多次回顾。
(5)在调查中,家庭成员可以帮助提供每个人摄入食物的种类和实际消费数据。
(6)既可用以评价全人群,也适合描述不同组个体的膳食平均摄入量。
3.设计合理的调查表是膳食调查质量的关键。
24h膳食回顾调查表见P74.个人人日数=早餐餐次总数×早餐餐次比+ 中餐餐次总数×中餐餐次比+ 晚餐餐次总数×晚餐餐次比全家总人日数=所有在家用餐个人的人日数之和餐次比一般为早餐30%、午餐40%、晚餐30%,儿童三餐能量比各占1/3。
注:总人日数只有在调查集体、家庭人员且每日吃饭人数不同时才用。
5.设计24h膳食回顾调查表:1.确定表头2.确定调查对象基本内容3.确定膳食回顾调查表的内容4.设计表格5.解释说明编写6.试用7.补充内容6.24h膳食回顾调查法工作程序:1.入户说明来意2.说明调查内容3.调查和记录4.引导回顾记录要点5.弥补调查不足6.资料的核实7.个人人日数的计算。
html固定表格头和列

}
.FixedDataColumn
{
position: relative;
left: expression(this.parentElement.offsetParent.parentElement.scrollLeft);
零售户退货量
</td>
<td align = "center" width = "10%">
商商调剂量
</td>
<td align = "center" width = "10%">
库存量
</td>
</tr>
100.34
</td>
<td align = "right">
100.34
</td>
<td align = "right">
100.34
</td>
<td align = "right">
100.34
</td>
</tr>
<tr>
<td class = "FixedDataColumn" align = "left">
北京市烟草公司
</td>
<td align = "right">
利用js+css+html实现固定table的列头不动

利⽤js+css+html实现固定table的列头不动话不多说,跟这⼩编来⼀起看下吧1、CSS<style type="text/css">#scroll_head {position: absolute;display: none;}</style>2、Javascript<script type="text/javascript">//该函数在上⾯⼀个table数据加载完成后调⽤//把表头的宽度设置到会滚动的页头去var copyWidth = function () {var b = $('#data_tbody').prev().find('tr:last').find('th');var c = $('#scroll_head').find('tr:last').find('th');for (var i = 0; i < b.length; i++) {var newWith = b.eq(i).width();if ($.browser.msie) {newWith += 1;}c.eq(i).width(newWith);}}$(function () {$(window).scroll(function () {if ($('#data_tbody').length > 0) {var thead = $('#data_tbody').prev();var thOffset = thead.offset();var scTop = $(window).scrollTop(); //滚动条相对top的位置if (scTop > thOffset.top) { //滚动条滚到thead及以下的位置,⽤临时的thead代替显⽰$('#scroll_head').css('display', 'block');$('#scroll_head').offset({ top: scTop, left: thOffset.left });}else { //滚动条滚到thead上的位置,⽤table的原始thead显⽰$('#scroll_head').css('display', 'none');}}});});</script>3、Html内容<div id="data_div"><table>@*thead内容及样式同scroll_head中的thead*@@*thead使⽤深背景⾊,避免滚动时和tbody内容重叠显⽰*@<thead><tr>@*⼀级标题*@<th class="tt1" colspan="2">⼀级1</th><th class="tt2" colspan="5">⼀级2</th><th class="tt3" colspan="6">⼀级3</th></tr><tr>@*⼆级标题*@<th style="width: 23px;">⼆级11</th><th style="width: 36px;">⼆级12</th><th class="tt" style="width: 40px;">⼆级21</th><th class="tt" style="width: 30px;">⼆级22</th><th class="tt" style="width: 30px;">⼆级23</th><th class="tt" style="width: 30px;">⼆级23</th><th class="tt" style="width: 30px;">⼆级24</th><th class="tt" style="width: 30px;">⼆级25</th><th class="tt" style="width: 30px;">⼆级31</th><th class="tt" style="width: 30px;">⼆级32</th><th class="tt" style="width: 30px;">⼆级33</th><th class="tt" style="width: 30px;">⼆级33</th><th class="tt" style="width: 30px;">⼆级34</th><th class="tt" style="width: 30px;">⼆级35</th><th class="tt" style="width: 30px;">⼆级36</th></tr></thead><tbody id="data_tbody">数据内容,在数据加载完成后调⽤copyWidth()函数解决兼容性</tbody></table></div><div id="scroll_head" style="display:block; top: 168px; left: 0px; position: relative;"><table width="100%"><thead> @*thead使⽤深背景⾊,避免滚动时和tbody内容重叠显⽰*@<tr>@*⼀级标题*@<th class="tt1" colspan="2">⼀级1</th><th class="tt2" colspan="5">⼀级2</th><th class="tt3" colspan="6">⼀级3</th></tr><tr>@*⼆级标题*@<th style="width: 23px;">⼆级11</th><th style="width: 36px;">⼆级12</th><th class="tt" style="width: 40px;">⼆级21</th><th class="tt" style="width: 30px;">⼆级22</th><th class="tt" style="width: 30px;">⼆级23</th><th class="tt" style="width: 30px;">⼆级23</th><th class="tt" style="width: 30px;">⼆级24</th><th class="tt" style="width: 30px;">⼆级25</th><th class="tt" style="width: 30px;">⼆级31</th><th class="tt" style="width: 30px;">⼆级32</th><th class="tt" style="width: 30px;">⼆级33</th><th class="tt" style="width: 30px;">⼆级33</th><th class="tt" style="width: 30px;">⼆级34</th><th class="tt" style="width: 30px;">⼆级35</th><th class="tt" style="width: 30px;">⼆级36</th></tr></thead></table></div>以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,如果有疑问⼤家可以留⾔交流,同时也希望多多⽀持!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
position: relative; top: expression(this.offsetParent.scrollTop); z-index: 10; background-color: #E6ECF0; }
.FixedTitleColumn {
position: relative; left: expression(this.parentElement.offsetParent.scrollLeft); }
通过样式表来实现固定表头和列。效果确实不错。但是对于其中的疑问和问题这里需要补充一下。原文 中设了三个样式,FixedTitleRow 标题行(TR) 的样式,FixedTitleColumn 标题列(TD)的样式及 FixedDataColumn 数据列(TD)的样式;在这三种样式中都统一设置 position 属性为 relative,这个设置是 非常重要的,relative 的解释说明是这样的: Setting the property to relative places the object in the natural HTML flow of the document, but offsets the position of the object based on the preceding content. (设置 HTML 文档中的对象属性为 relative 时,其位移是相对于前面内容对象的) 也就是说那些固定列头的位置(left,top)是在当前所在的位置的基础上偏移的,其偏移量就是在样式中设 置的 left 或 top 属性值。例如偏移量是 10,则当前列头的位置则向右偏移 10 个象素,如果是-10,则向左 偏移 10 个象素;所以在样式中可以看到下面的代码:
<td class="FixedDataColumn">111</td> <td class="FixedDataColumn">111</td> <td class="FixedDataColumn">111</td> <td> 001</td> <td>002</td> <td>003</td> <td>004</td> <td>005</td> <td>006</td> <td>007</td> <td>008</td> <td>009</td> <td>010</td> </tr> <tr> <td class="FixedDataColumn"> 111</td> <td class="FixedDataColumn"> 111</td> <td class="FixedDataColumn"> 111</td> <td class="FixedDataColumn"> 111</td> <td class="FixedDataColumn"> 111</td> <td>001</td> <td>002</td> <td>003</td> <td>004</td> <td>005</td> <td>006</td> <td>007</td> <td>008</td> <td>009</td> <td>010</td> </tr> </tbody> </table> </div> </body> </html> </pre>
<tbody> <tr class="FixedTitleRow"> <td class="FixedTitleColumn"> ID0</td> <td class="FixedTitleColumn"> CK0</td> <td class="FixedTitleColumn">Code0</td> <td class="FixedTitleColumn"> Descirption0</td> <td class="FixedTitleColumn"> TOL0</td> <td>XS0</td> <td >SS0</td> <td>MS0</td> <td>DS0</td> <td>BS0</td> <td>XL0</td> <td>ML0</td> <td>DL0</td> <td>EM0</td> <td>BM0</td> </tr> <tr> <td class="FixedDataColumn">88</td> <td class="FixedDataColumn">88</td> <td class="FixedDataColumn">88</td> <td class="FixedDataColumn">88</td> <td class="FixedDataColumn">88</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> <td>22</td> </tr> <tr>
//摘自 ITEYE <pre name="code" class="html"><html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>固定表头和列</title> <style>
不要将 div 的宽度或高度设置的比固定列的宽度或高度要小,否则是永远也看不到滚动的内容
的;
固定列只设置前面几列即可,不要设置最后面哦。那样最后的固定列同样也是看不到内容的。
不过没有人会那么变态将固定列设到最后的几列!
பைடு நூலகம்
你设置了固定列样式 FixedTitleColumn,当然对应的显示数据列也要设置 FixedDataColumn
16.
{...}{
17.
position: relative;
18.
left: expression(this.parentNode.parentNode.parentNode.parentNode.scro
llLeft);
19.
background-color: #E6ECF0;
20.
}
在你将上面的示例代码准备运用到你的项目中时,请注意如下几点:
//这里的 expression 函数是计算 js 表达式的值 top: expression(this.offsetParent.scrollTop); left: expression(this.parentElement.offsetParent.scrollLeft);
其作用就是将当前 TABLE 所属的 DIV 的滚动条的偏移位置(top,left)付给固定列头的 left 或 top 属性,这 样当滚动条拖动时,固定列头就不会随之移动啦!这也是样式的 expression 强大之处,它可以在运行时 实时计算 left 和 top 值而不需要我们写一句代码。如果真要用 JS 代码来实现此功能,估计没百把行是不 可能完成的,并且实现起来也不是那么容易。 另外一个感到疑惑的是在样式 expression 表达式中,又是 this.parentElement,又是 this.offsetParent, 觉得有点乱。其实都是为了得到 TABLE 所属的 DIV 对象,但我很少用 parentElement 属性,如果想要以 document 层次树更清晰的表达,推荐用 parentNode。所以我对原文中的 expression 改成了如下形式: 是不是比以前的表达式清晰?!呵呵,在上面需要注意一点的就是 TR 的 parentNode 是 TBODY,就算 你 TABLE 中没有写<TBODY>,它也是隐藏的。所以 TR 追溯到 DIV 需要 3 级,TD 则需要 4 级;