精华内容
下载资源
问答
  • 分节符、分页符及页眉设置方法

    千次阅读 2015-05-31 18:02:52
     为防止编辑好的表格因为格式的变动而被打乱,在表格前后插入“分页符”即可保证无论如何排版都不打乱表格:“插入”→“分隔符”→“分隔符类型”→“分页符”。 5、竖排页面的文档中,突然需要某页进行...

    每天忙于写论文,小论文倒也罢了,没有多少需要排版的东西,最多是一栏变两栏,字体字号等等,简单得很,可大论文就不一样了,需要封面设计、页眉页脚、表格不能跨页、一级标题、二级标题……,几乎把我变成了一个排版工人!没办法,只能一点点学,但学会了也发现其实很简单的,俗话说:求人不如求己,所以还是自己学会一点排版的知识,防止在需要的时候束手无策!以后我会把文章编排的各种小窍门写下来与大家共享。

    1、如何设置页眉页脚?

              “视图”→“页眉和页脚”,将会打开页眉页脚编辑工具栏,同时切换到页眉编辑状态,只要在相应的地方输入内容即可。

    2、什么是“分节符”,如何设置?

              “分节符”就是把文档从插入的分节符处分为两节,可以对每节的页面、格式进行单独设置。

              设置方法:“插入”→“分隔符”,选择“分节符类型”里的“下一页”即可在指定位置插入分节符。

    3、文档中有封面有正文,封面中不需要页眉页码,而正文要设置,怎么做?

         ①、在封面尾插入“分节符”将封面与正文分节:光标调至要插入分节符的地方,“插入”→“分隔符”→“分节符类型”“下一页”;

              ②、进行页眉页码编辑:“视图”→“页眉和页脚”,输入页眉内容及插入页码,这时封面和正文都将会有页眉和页码;

         ③、取消每节的“同上一节”设置,以便对每节进行单独编写:将光标调至第2节(即正文所在节)在页眉,点击页眉页脚编辑工具栏上的“同前”,这样就是取消“同上一节”的设置,使得两节的页眉可以分别设置(因为默认设置为“同前”),否则无论修改哪一节,另一节都会跟着改变的,同理,页脚也同样处理。

         ④、取消封面页眉文字:光标调至第1节的页眉,删除页眉文字,此时将还有默认下划线存在,同样取消页码即可;

         ⑤、删除页眉中的下划线:全选页眉(注意,一定要将段落标记也选入。也可以三击鼠标左键),“格式”→“边框和底纹”→ “边框”→“无”,注意对话框右下解的“应用范围”应该是“段落”,再点击“确定”即可取消下划线;

         ⑥、在正文页眉或页脚设置页码:若直接插入页码,会将封面页做为第1页,顺序下排。这时,只要选中页码,点击页眉页脚编辑工具栏中的“设置页码格式”→“页码编排”→“起始页码”,输入相应数字即可。(想从哪个页数开始都行)

              这样设置下来,封面既无页眉也无页码。当然,第①~③顺序不要变,后面几项可以颠倒顺序。举一反三,对于对章节或多封面的文档,重复使用这些设置即可做到每章节页眉不同,页码不同了。

    4、带表格的文档,排版时总是会将编辑好的表格打乱,怎么办?

              为防止编辑好的表格因为格式的变动而被打乱,在表格前后插入“分页符”即可保证无论如何排版都不有打乱表格:“插入”→“分隔符”→“分隔符类型”→“分页符”。

    5、竖排页面的文档中,突然需要某页进行横排,怎么办?

              在需要横排的页前页后分别设置两个“分节符”,然后对此页进行“页面设置”,选择版面“横向”即可。

    6、“分节符”与“分页符”的区别是什么?

              这两种符,都可以将页面单独分页,有时候看上去一样的功能,很难区别。其实主要的一点区别就是“分节符”分开的每个节都可以进行不同的页面、页眉、页脚、页码的设置,而分页符则不能。

    7、一个文档有多个章节,每个章节有不同的封面,同时文档中还有很多表格,有横版,有竖版,却要求每个章节页眉内容不同、页码相连、每章封面不排页码、无论横版竖版统一页眉以供装订,需要怎么样操作?

         ①、插入“分节符”,将文档分为若干个节:光标调至每个章节、章节封面、不同方向版面的最后一个字符后,“插入”→“分隔符”→“分节符类型”“下一页”,重复操作;

        ②、取消每节的“同上一节”设置:将光标调至页眉,点击页眉页脚编辑工具栏上的“同前”,这样就是取消“同上一节”的设置,以便对每节的页眉页脚进行单独设置而不会改变其它节的内容,页脚也同样处理。

         ③、进行页眉页码编辑:在相应位置输入页眉内容及插入页码;

         ④、取消封面页眉文字:光标调至封面的页眉,删除页眉文字,此时将还有默认下划线存在,同样取消页码即可;

        ⑤、删除页眉中的下划线:全选要取消的页眉(注意,一定要将段落标记也选入。也可以三击鼠标左键),“格式”→“边框和底纹”→ “边框”→“无”,注意对话框右下解的“应用范围”应该是“段落”,再点击“确定”即可取消下划线;

         ⑥、在正文页眉或页脚设置页码:若直接插入页码,会将封面页也排序。这时,只要选中页码,点击页眉页脚编辑工具栏中的“设置页码格式”→“页码编排”→“起始页码”,输入相应数字即可。(想从哪个页数开始都行)

         ⑦、重新编辑不同方向页面的页眉页脚:竖版文档中的横版页面的页眉将默认在长边,而竖版页面的页眉在短边,这就需要进行调整。

              a、取消横版页面的页眉和页脚:见④、⑤;

              b、在页眉处插入文本框:光标调至页眉,“插入”→“文本框”→“竖排”,按鼠标左键,光标变为“+”,不放,画一个文本框,输入文字,将文字和段落标记均选中,“格式”→“边框和底纹”→ “边框”→“自定义”,选择“线型”、“颜色”、“宽度”,在“预览”里选择下边框线,“确定”;

              c、调整文字方向:选中页眉文本框中的文字,“格式”→“文字方向”,调整相应的文字方向;

              d、页码设置:对页码也是如此操作即可,只是文本框中插入的是页码而已;

              e、取消文本框的框线:将鼠标点至文本框边界,当光标变为十字箭头时,双击鼠标左键,出现“设置文本框格式”对话框,将“线条”设置为“无”,即可消除文本框的外框线了。

              f、将页眉页码文本框放至\相应位置:当光标高为十字箭头时,按左键不放拉至相应位置即可。

              只要设置好一个版面,以后相同版面就可使用粘贴功能进行复制了。

              经过以上操作,目的就可以达到了。

    展开全文
  • 分页几种使用方式.md

    2018-10-09 18:06:39
    分页(element-ui)使用方式 第一方式(分段数据请求回来) 页面布局(显示)。 <div class="awrap-content"> <el-table :data="resPage.data&...

    分页(element-ui)使用方式

    1. 第一种方式(分段数据请求回来)

      • 页面布局(显示)。

        <div class="awrap-content">
           <el-table :data="resPage.data" style="width: 100%" max-height="90vh">
             <el-table-column prop="operationTime" label="操作时间" align="center" sortable>
             </el-table-column>
             <el-table-column prop="userPhone" label="客户手机号" align="center">
             </el-table-column>
             <el-table-column prop="operationName" label="操作名称" align="center">
             </el-table-column>
             <el-table-column prop="operationType" label="操作类型" align="center">
             </el-table-column>
             <el-table-column prop="requestParams" label="请求参数" align="center" show-overflow-tooltip>
             </el-table-column>
             <el-table-column prop="responseData" label="响应结果" align="center" show-overflow-tooltip>
             </el-table-column>
           </el-table>
        </div>
        
      • 后台根据请求的当前页数和一页的数量进行数据处理后返回给前台数据。

        	 // 请求数据
              reqPage: {
                pageNum: 1,
                pageSize: 10
              },
              // 响应数据
              resPage: {
                data: [],
                count: ""
              }
        
      • 前台接受当前页数的数据和所有数据的数量。

        // 请求日志数据
           findAllPage(reqPage) {
             let self = this;
             self
               .axios({
                 method: "GET",
                 url: "operation/findAllByPage",
                 params: reqPage
               })
               .then(function(res) {
                 // 接口访问成功后对数据进行处理显示
                 if (res.code === 0) {
                   self.resPage.count = res.data.totalCount;
                   self.resPage.data = res.data.data;
                 }
               })
               .catch();
        
      • 页面布局(操作)。

        <div class="awrap-footer">
           <div class="left-wrapper">
           	<span>共 {{Math.ceil(resPage.count/10)}} 页</span>
           </div>
           <div class="right-wrapper">
               <span @click="prePage">上一页</span>
               <el-input-number v-model="reqPage.pageNum" @blur="numberPage" :min="1" :max="Math.ceil(resPage.count/10)" :controls="false"></el-input-number>
               <span @click="nextPage">下一页</span>
           </div>
        </div>
        
      • 操作事件

            // 上一页
            prePage() {
              this.reqPage.pageNum--;
              this.findAllPage(this.reqPage);
            },
            // 下一页
            nextPage() {
              this.reqPage.pageNum++;
              this.findAllPage(this.reqPage);
            },
            // 输入页码
            numberPage() {
              this.findAllPage(this.reqPage);
            }
        
      • 筛选页面布局

        <div class="block">
            <div class="filterPhone">
                <el-select v-model="phoneValue" @change="filterPhonePage" @clear="clearPhone" clearable placeholder="筛选客户手机号">
                    <el-option
                    v-for="item in filterPhone"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                    </el-option>
                </el-select>
            </div>
            <div class="filterName">
                <el-select v-model="nameValue" @change="filterNamePage" @clear="clearName" clearable placeholder="筛选操作名称">
                    <el-option
                    v-for="item in filterName"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                    </el-option>
                </el-select>
            </div>
            <div class="filterType">
                <el-select v-model="typeValue" @change="filterTypePage" @clear="clearType" clearable placeholder="筛选操作类型">
                    <el-option
                    v-for="item in filterType"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                    </el-option>
                </el-select>
            </div>
            <span class="demonstration">操作时间</span>
            <el-date-picker v-model="operationDate" type="daterange" align="right" @change="datePage" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
            </el-date-picker>
        </div>
        
      • 筛选数据事件

        // 筛选操作时间事件
           datePage() {
             let isDate =
               this.operationDate == null ||
               !this.operationDate[0] ||
               !this.operationDate[1];
             if (isDate) {
               delete this.reqPage["startTime"];
               delete this.reqPage["endTime"];
               this.findAllPage(this.reqPage);
               this.$message({
                 message: "请重新选择时间段",
                 type: "warning"
               });
               return;
             }
             let startTime = moment(this.operationDate[0]).format(
               "YYYY-MM-DD HH:mm:ss"
             );
             let endTime = moment(this.operationDate[1]).format("YYYY-MM-DD HH:mm:ss");
             this.reqPage["startTime"] = startTime;
             this.reqPage["endTime"] = endTime;
             this.findAllPage(this.reqPage);
           },
           // 筛选客户手机号事件
           filterPhonePage() {
             this.reqPage["userPhone"] = this.phoneValue;
             this.findAllPage(this.reqPage);
           },
           // 筛选操作名称事件
           filterNamePage() {
             this.reqPage["operationName"] = this.nameValue;
             this.findAllPage(this.reqPage);
           },
           // 筛选操作类型事件
           filterTypePage() {
             this.reqPage["operationType"] = this.typeValue;
             this.findAllPage(this.reqPage);
           },
           // 清除筛选客户手机号事件
           clearPhone() {
             delete this.reqPage["userPhone"];
             this.findAllPage(this.reqPage);
           },
           // 清除筛选操作名称事件
           clearName() {
             delete this.reqPage["operationName"];
             this.findAllPage(this.reqPage);
           },
           // 清除筛选操作类型事件
           clearType() {
             delete this.reqPage["operationType"];
             this.findAllPage(this.reqPage);
           }
        
    2. 第二种方式(全部数据请求回来)

      • 页面布局

           <div class="table_container">
              <el-table
                v-if="tableData.length > 0"
                :data="tableData"
                max-height="450"
                border
                style="width: 100%">
                <el-table-column type="index" label="序号" width="70" align="center">
                </el-table-column>
                <el-table-column prop="date" label="创建时间" width="250" align="center">
                  <template slot-scope="scope">
                    <i class="el-icon-time"></i>
                    <span style="margin-left: 10px">{{ scope.row.date }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="type" label="收支类型" width="150" align="center">
                </el-table-column>
                <el-table-column prop="describe" label="收支描述" width="180" align="center">
                </el-table-column>
                <el-table-column prop="income" label="收入" width="170" align="center">
                  <template slot-scope="scope">
                    <span style="color:#00d053">+{{ scope.row.income }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="expend" label="支出" width="170" align="center">
                  <template slot-scope="scope">
                    <span style="color:#f56767">-{{ scope.row.expend }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="cash" label="账户现金" width="170" align="center">
                  <template slot-scope="scope">
                    <span style="color:#4db3ff">{{ scope.row.cash }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="remark" label="备注" width="220" align="center">
                </el-table-column>
                <el-table-column label="操作" v-if="user.identity == 'manager'" prop="operation" width="320" fixed="right" align="center">
                  <template slot-scope="scope">
                    <el-button
                      size="small"
                      type="warning"
                      icon="edit"
                      @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
                    <el-button
                      size="small"
                      type="danger"
                      icon="delete"
                      @click="handleDelete(scope.$index, scope.row)">删除</el-button>
                  </template>
                </el-table-column>
              </el-table>
              <!-- 分页 -->
              <el-row>
                <el-col :span="24">
                  <div class="pagination">
                    <el-pagination
                      @size-change="handleSizeChange"
                      @current-change="handleCurrentChange"
                      :current-page.sync="paginations.page_index"
                      :page-sizes="paginations.page_sizes"
                      :page-size="paginations.page_size"
                      :layout="paginations.layout"
                      :total="paginations.total">
                    </el-pagination>
                  </div>
                </el-col>
              </el-row>
            </div>
        
      • 数据定义和请求获取

        	  tableData: [], // 最终呈现的数据
              allTableData: [], // 分页过滤的数据
              filterTableData: [], // 筛选过滤的数据
              
              getProfile() {
              // 获取表格数据
              this.$axios({
                method: "GET",
                url: "/api/profiles"
              })
              .then(res => {
                this.allTableData = res.data;
                this.filterTableData = res.data;
                // 设置分页数据
                this.setPaginations();
              })
              .catch(err => console.log(err));
              }
              
              setPaginations() {
              // 分页属性设置
              this.paginations.total = this.allTableData.length;
              this.paginations.page_index = 1;
              this.paginations.page_size = 5;
              // 设置默认的分页数据
              this.tableData = this.allTableData.filter((item, index) => {
                return index < this.paginations.page_size;
              });
             },
              handleSizeChange(page_size) {
              // 切换size,就是每页显示多少条事件
              this.paginations.page_index = 1;
              this.paginations.page_size = page_size;
              // 设置默认的分页数据
              this.tableData = this.allTableData.filter((item, index) => {
                return index < page_size;
              });
            },
            handleCurrentChange(page) {
              // 获取当前页
              let index = this.paginations.page_size * (page - 1);
              // 数据的总数
              let nums = this.paginations.page_size * page;
              // 容器
              let tables = [];
              for (let i = index; i < nums; i++) {
                if (this.allTableData[i]) {
                  tables.push(this.allTableData[i]);
                }
                this.tableData = tables;
              }
            }
        
    3. 总结

    • 相比较第二种方式,第一种方式会比较容易,就是各种的操作就调用各种的接口,然后显示。第二种就是自己处理数据显示出来,如果可以我会选择第一种方式,可能要后台配合吧,第二种也可以,可以锻炼自己的逻辑能力吧。
    展开全文
  • 几种分页的写法

    千次阅读 2007-03-06 19:34:00
    1.分页效果:首页 前10 1 2 3 4 5 6 7 8 9 10 后10 尾页Dim iPageCount,i,pageStart,pageEnd iPageCount = 30 假设30页 if request("display")="" then curpage=1 else curpage=cint(request("display")) end ...

     1.分页效果:首页 前10  1 2 3 4 5 6 7 8 9 10  后10  尾页

    <%
    Dim iPageCount,i,pageStart,pageEnd
    iPageCount = 30 '假设有30页
    if request("display")="" then
    curpage=1
    else
    curpage=cint(request("display"))
    end if
    '页数从pageStart开始
    pageStart = ((curpage-1)/10)*10+1
    '页数从pageEnd结束
    pageEnd = pageStart + 9
    '如果超过总的记录数,则pageEnd等于总记录数
    if pageEnd > iPageCount Then pageEnd = iPageCount
    Response.Write("第" & curpage & "/" & iPageCount & "页")
    if pageStart > 1 then Response.Write("<a href=test.asp?display=" & pageStart - 10 & "><<</a>&nbsp;")
    for i = pageStart to pageEnd
    Response.Write("<a href='?display=" & i & "'>第" & i & "页</a> ")
    next
    If pageEnd < iPageCount Then Response.Write("<a href=test.asp?display=" & pageStart + 10 & ">>></a>")
    %>

    2.分页效果: 共有 X 篇文章 首页 前一页 后一页 尾页

     '***********************************************
    '过程名:showpage
    '作  用:显示“上一页 下一页”等信息
    '参  数:sfilename  ----链接地址
    '   totalnumber ----总数量
    '   maxperpage  ----每页数量
    '   ShowTotal   ----是否显示总数量
    '   ShowAllPages ---是否用下拉列表显示所有页面以供跳转。有某些页面不能使用,否则会出现JS错误。
    '   strUnit     ----计数单位
    '***********************************************
    sub showpage(sfilename,totalnumber,maxperpage,ShowTotal,ShowAllPages,strUnit)
     dim n, i,strTemp,strUrl
     if totalnumber mod maxperpage=0 then
         n= totalnumber / maxperpage
       else
         n= totalnumber / maxperpage+1
       end if
       strTemp= "<table align='center'><form name='showpages' method='Post' action='" & sfilename & "'><tr><td>"
     if ShowTotal=true then
      strTemp=strTemp & "共 <b>" & totalnumber & "</b> " & strUnit & "&nbsp;&nbsp;"
     end if
     strUrl=JoinChar(sfilename)
       if CurrentPage<2 then
          strTemp=strTemp & "首页 上一页&nbsp;"
       else
          strTemp=strTemp & "<a href='" & strUrl & "page=1'>首页</a>&nbsp;"
          strTemp=strTemp & "<a href='" & strUrl & "page=" & (CurrentPage-1) & "'>上一页</a>&nbsp;"
       end if
    ' Response.Write(strTemp)

       if n-currentpage<1 then
          strTemp=strTemp & "下一页 尾页"
       else
          strTemp=strTemp & "<a href='" & strUrl & "page=" & (CurrentPage+1) & "'>下一页</a>&nbsp;"
          strTemp=strTemp & "<a href='" & strUrl & "page=" & n & "'>尾页</a>"
       end if
    ' Response.Write(strTemp)
        strTemp=strTemp & "&nbsp;页次:<strong><font color=red>" & CurrentPage & "</font>/" & n & "</strong>页 "
        strTemp=strTemp & "&nbsp;<b>" & maxperpage & "</b>" & strUnit & "/页"
     if ShowAllPages=True then
      strTemp=strTemp & "&nbsp;转到:<select name='page'size='1'οnchange='javascript:submit()'>"  
         for i = 1 to n  
          strTemp=strTemp & "<option value='" & i & "'"
       if cint(CurrentPage)=cint(i) then strTemp=strTemp & " selected "
       strTemp=strTemp & ">第" & i & "页</option>"  
         next
      strTemp=strTemp & "</select>"
     end if
     strTemp=strTemp & "</td></tr></form></table>"
     response.write strTemp
    end sub

    '***********************************************
    '函数名:JoinChar
    '作  用:向地址中加入 ? 或 &
    '参  数:strUrl  ----网址
    '返回值:加了 ? 或 & 的网址
    '***********************************************
    function JoinChar(strUrl)
     if strUrl="" then
      JoinChar=""
      exit function
     end if
     if InStr(strUrl,"?")<len(strUrl) then
      if InStr(strUrl,"?")>1 then
       if InStr(strUrl,"&")<len(strUrl) then
        JoinChar=strUrl & "&"
       else
        JoinChar=strUrl
       end if
      else
       JoinChar=strUrl & "?"
      end if
     else
      JoinChar=strUrl
     end if
    end function

    调用的时候可以这样调用:

    showpage strFileName,totalPut,MaxPerPage,true,false,"篇文章"

    strfilename:连接文件
    totalPut:记录总数
    maxperpage:每页显示数量

    3.比较灵活的方式,可以设定分页显示效果

    '分页列表函数
    'url 跳转的地址
    'querry ?后的参数
    'Separator 分隔符
    'ListType 分页类型
    '类型:0 "第一页 | 前一页 | 下一页 | 最后页"
    '类型:1 "1 | 2 | 3 | 4 | ..........| 下一页"
    '类型:2 "第一页 | 前十页 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 后十页 | 最后页"
    'ListLink 链接使用的样式

    sub PageList(ListType,url,querry,Separator,ListLink)
     if Separator="" then Separator="|"
     if ListType="" then ListType="0"
     select case ListType
      case "0"
       response.write"第"&currentpage&"/"&n&"页&nbsp;&nbsp;"
       response.write"共"&totalrec&"条信息&nbsp;&nbsp;"
       if currentpage <= 1 then
        response.write"第一页&nbsp;"&Separator&"&nbsp;"
        response.write"前一页&nbsp;"&Separator&"&nbsp;"
       else
        response.write"<a href="""&url&"?page=1&"&querry&""" class="""&ListLink&""">第一页</a>&nbsp;"&Separator&"&nbsp;"
        response.write"<a href="""&url&"?page="&currentpage-1&"&"&querry&"""  class="""&ListLink&""">前一页</a>&nbsp;"&Separator&"&nbsp;"
       end if
       if currentpage = n then
        response.write"下一页&nbsp;"&Separator&"&nbsp;"
        response.write"最后页&nbsp;"
       else
        response.write"<a href="""&url&"?page="&currentpage+1&"&"&querry&"""  class="""&ListLink&""">下一页</a>&nbsp;"&Separator&"&nbsp;"
        response.write"<a href="""&url&"?page="&n&"&"&querry&""" class="""&ListLink&""">最后页</a>&nbsp;"
       end if
      case "1"
       if currentpage < n then
        response.write"<a href="""&url&"?page="&currentpage+1&"&"&querry&""" class="""&ListLink&""">下一页</a>&nbsp;"   
       else
        response.write"下一页&nbsp;"   
       end if
       for i=1 to n
        if cstr(i)=cstr(currentpage) then
         response.write "<b>"&i&"</b>"&"&nbsp;"&Separator&"&nbsp;"
        else
         response.write"<a href="""&url&"?page="&i&"&"&querry&""" class="""&ListLink&""">"&i&"</a>&nbsp;"&Separator&"&nbsp;" 
        end if
       next
      
      case "2"
       PageMerCout=10 '每次可翻的最大页数
      '取得记录的最大页码段
      if n mod PageMerCout=0 then
       MaxPageFiled=n/PageMerCout
      else
       MaxPageFiled=n/PageMerCout+1
      end if
      '判断当前页所在的页码段
      if currentpage mod PageMerCout =0 then
       CurrPageFiled=currentpage/PageMerCout
      else
       CurrPageFiled=currentpage/PageMerCout+1
      end if
      '取得当前页码段的最大页码和最小页码
      MaxPageNo=CurrPageFiled*PageMerCout
      MinPageNo=(CurrPageFiled-1)*PageMerCout+1
      '输出 “第一页 | 前十页 |”
      if currentpage<=1 then
       response.write"第一页&nbsp;"&Separator&"&nbsp;"
      else
       response.write"<a href="""&url&"?page=1&"&querry&""" class="""&ListLink&""">第一页</a>&nbsp;"&Separator&"&nbsp;"
      end if
      if CurrPageFiled<=1 then
       response.write"前十页&nbsp;"&Separator&"&nbsp;"      
      else
       response.write"<a href="""&url&"?page="&MinPageNo-PageMerCout&"&"&querry&""" class="""&ListLink&""">前十页</a>&nbsp;"&Separator&"&nbsp;"      
      end if
      '输出当前页码段
      for i=MinPageNo to MaxPageNo
       if i<=n then
        if cstr(i)=cstr(currentpage) then
         response.write "<b>"&i&"</b>"&"&nbsp;"&Separator&"&nbsp;"
        else
         response.write"<a href="""&url&"?page="&i&"&"&querry&""">"&i&"</a>&nbsp;"&Separator&"&nbsp;" 
        end if
       end if
      next
      '输出 “后十页 | 最后页”
      if CurrPageFiled>=MaxPageFiled then
       response.write"后十页&nbsp;"&Separator&"&nbsp;"      
      else
       response.write"<a href="""&url&"?page="&MaxPageNo+1&"&"&querry&""" class="""&ListLink&""">后十页</a>&nbsp;"&Separator&"&nbsp;"      
      end if
      if currentpage>=n then
       response.write"最后页&nbsp;" 
      else
       response.write"<a href="""&url&"?page="&n&"&"&querry&""" class="""&ListLink&""">最后页</a>&nbsp;" 
      end if
     end select
    end sub

    4.一个比较简单的

    on error resume next
    '分页程序
    function fy(scount,pgsize,pg,url)
    'scount记录总数
    'pgsize每面记录数
    'pg当前页
    'url转向的地址,运行本函数后会在后面加上"&page=页号"
    dim pgcount,i,j,mh,k
    mh=chr(34) '不好意思,是双引号


    'cint()会四舍五入,所以不得不加个k
    k=(scount+pgsize-1)/pgsize
    pgcount=cint((scount+pgsize-1)/pgsize)
    if pgcount>k then pgcount=pgcount-1

    response.write "<a href="+mh+url+"&page=1"+mh+">[第一页]</a>&nbsp;"
    if cint(pg)>cint(1) then
    response.write "<a href="+mh+url+"&page="+cstr(pg-1)+mh+">[上一页]</a>&nbsp;"
    end if
    if cint(pg)>5 then
    i=cint(pg)-5
    else
    i=1
    end if

    if cint(pgcount)<cint(pg+5) then
    j=pgcount
    else
    j=pg+5
    end if


    while cint(i)<=cint(j)

    if cint(i)=cint(pg) then
    response.write cstr(i)+"&nbsp;"
    else
    response.write "<a href="+mh+url+"&page="+cstr(i)+mh+">"+cstr(i)+"</a>&nbsp;"
    end if
    i=i+1
    wend

    if cint(pgcount)>cint(pg) then
    response.write "<a href="+mh+url+"&page="+cstr(pg+1)+mh+">[下一页]</a>&nbsp;"
    end if

    response.write "<a href="+mh+cstr(url)+"&page="+cstr(pgcount)+mh+">[最后页]</a>&nbsp;"

    end function

    展开全文
  • 关于分页几种方案

    2006-10-04 03:11:00
    临时表种类型:本地和全局。它们在名称、可见性以及可用性上区别。本地临时表 的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server  实例断开连接时被删除。全局临时表的...
    <script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>   
    

    使用时间和日期的函数
    getdate():获取系统当前时间
    dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate())
    datediff(datepart,startdate,enddate):计算两个时间的差值,比如:datediff(yy,getdate(),'2008-08-08')
    dataname(datepart,date):获取时间不同部分的值,返回值为字符串
    datepart(datepart,date):和datename相似,只是返回值为整型
    day(date):获取指定时间的天数
    month(date):获取指定时间的月份
    year(date):获取指定时间的年份

    问题1:
    表A是一个不断有新记录增加的表,字段t就是记录的插入时间,现在想知道每10秒钟插入到该表的
    记录总数大于N条的时间和记录条数,并按由大到小的顺序排序,请写出完成该功能的SQL语句。
    解决方案:
    declare @t datetime
    select @t=min(t) from B
    select max(t) as maxT,min(t) as minT,count(*) as Num from B group by
    datediff(ss,@t,t)/10 having count(*)>1 order by count(*) desc

    全局变量:
    以@@开头,且不能由用户自定义,下面来看几个常用的全局变量:
    @@rowcount :表示最近一个语句影响的行数。
    @@error:上一条sql语句返回的错误信息。
    @@identity:对有标识列的表而言,系统会为表每生成一个新的标识号,这个变量记录的就是最近产生的id。

    rowcount:会话级全局变量,比如set rowcount 3 ,就是设置返回的记录数最多是3条,此变量的作用类似于
    top子句,TOP 子句适用于指定了该子句的单个 SELECT 语句。SET ROWCOUNT 将一直有效,直到执行另一个
    SET ROWCOUNT 语句,例如 SET ROWCOUNT 0 将关闭该选项。

    indetity_insert:会话级全局变量
    任何时候,一个会话中只有一个表的 IDENTITY_INSERT 属性可以设置为 ON。如果某个表已将此属性设
    置为 ON,则对另一个表发出 SET IDENTITY_INSERT ON 语句时,SQL Server 2005 将返回一个错误信息,
    指出 SET IDENTITY_INSERT 已设置为 ON,并报告已将其属性设置为 ON 的表。
    如果插入值大于表的当前标识值,则 SQL Server 自动将新插入值作为当前标识值使用。
    SET IDENTITY_INSERT 的设置是在执行或运行时设置的,而不是在分析时设置的。
    dbcc checkident (table_name,reseed,n):此语句的功能是更正列的当前标识值,把table_name的标
    识符设置为n。如果当标识列中存在 PRIMARY KEY 或 UNIQUE 约束时,无效标识信息会导致错误消息 2627。

    SQL Server的几个分页解决方案:
    解决方案1:
    declare @pageIndex int,@pageSize int,@recordNum int
    set @pageIndex=3
    set @pageSize=3
    select top(@pageSize) * from Grade where id not in (select top
    ((@pageIndex-1)*@pageSize) id from Grade)//显示出第 7 到 第 9 条

    select @recordNum=count(*) from Grade//显示总记录数

    点评:效率不高,而且取出来的数据是按id排序的。如果想按其他字段排序就不行。

    解决方案二:
    declare @id int
    --set rowcount 3
    --select @id=id from Grade
    select top 3 @id=id from Grade//这句等效于上面注视的两句
    select top 3 * form Grade where id>@id//查询出第 4 到第 6 条记录

    点评:效率比方案一稍高,但是取出来的数据是也按id排序的。如果想按其他字段排序就不行

    解决方案三:
    create table #table(new_id int identity(1,1) primary key,id int)
    insert into #table(id) select id from grade
    select a.* from grade a join #table b  on (b.new_id between 6 and 9) and a.id=b.id
    //取出第 6 到第 9 条,
    点评:其原理是把要分页的表的主键插入到临时表中,临时表的字段就是一个标识列和要分
    页的表的主键列(包括是多个主键的情况,上面的两种方法就不行)。特点是效率高,取出
    来的数据能根据自己要求的字段排序。

    临时表:
    上面的解决方案三就是使用了临时表,它与永久表相似,但临时表存储在 tempdb 中,当不
    再使用时会自动删除。
    临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表
    的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server
     实例断开连接时被删除。全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户
    都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。

    表级变量:
    象上面分页的例子也可以使用表级变量,象下面这样:

    declare @table table (newid int identiey(1,1),id int)
    insert into @table(id) select id from grade
    select a.* from grade a join @table b  on (b.new_id between 6 and 9) and a.id=b.id
    这种方式比使用临时表分页效率更高。

    字符串函数:
    left(stringExp,intExp):取字符串左边多少个字符
    len(strExp):计算指定字符串的长度
    char(intExp):根据指定字符的ASCII码返回相应的字符
    ascii(strExp):将一个字符转换成相应的ascii码
    lower(strExp):将字符串转换为小写
    Upper(strExp):将字符串转换为大写
    Ltrim(strExp):去字符串左边的空格
    rtrim(strExp):去字符串右边的空格
    substring(strExp,intExp,intExp):按指定的索引截取一个字符串的子字符串
    replace(strExp,strOldStr,strNewStr):将字符串中的部分内容用新的字符串来代替


    系统其他转换函数:
    isnull(逻辑表达式,代替值):判断逻辑表达式是否为null,是的话就用指定的值代替。
    convert()和cast:
    CAST 函数和 CONVERT 函数还可用于获取各种特殊数据格式,并可用于选择列表、WHERE
    子句以及允许使用表达式的任何位置中。如果希望 Transact-SQL 程序代码符合 SQL-92,
    请使用 CAST 而不要使用 CONVERT。如果要利用 CONVERT 中的功能,请使用 CONVERT
    而不要使用 CAST。
    使用 CAST 或 CONVERT 时,需要提供以下信息:
    要转换的表达式;例如,销售报表要求销售数据从货币数据转换为字符数据。
    要将指定的表达式转换为的数据类型,例如 varchar 或其他 SQL Server 系统数据类型。
    除非将被转换的值存储起来,否则转换仅在 CAST 函数或 CONVERT 函数的作用时间范围内有效。
    如果转换时没有指定数据类型的长度,则 SQL Server 自动将 30 作为长度值。

    问题:
    有一张商品表,里面三个字段:购买日期,购买人,价格。现在要统计每个购买人每一
    季度的消费总价,并算出小计(也就是这一年消费的总价)

    解决方案:

    创建一张shop表:
    create table shop
    (
     selldate datetime default(getdate()),
     name varchar(20),
     price money,
    )
    加入一些测试数据:
    insert into shop(selldate,name,price) values('2006-05-12','张三',75)
    insert into shop(selldate,name,price) values('2006-07-12','张三',50)
    insert into shop(selldate,name,price) values('2006-09-12','张三',43)
    insert into shop(selldate,name,price) values('2006-11-12','李四',67)
    insert into shop(selldate,name,price) values('2006-01-12','李四',98)
    insert into shop(selldate,name,price) values('2006-06-12','李四',100)
    insert into shop(selldate,name,price) values('2006-08-12','王五',134)
    insert into shop(selldate,name,price) values('2006-04-12','王五',165)
    insert into shop(selldate,name,price) values('2006-10-12','王五',85)
    insert into shop(selldate,name,price) values('2006-08-12','赵六',11)
    insert into shop(selldate,name,price) values('2006-12-12','赵六',165)
    insert into shop(selldate,name,price) values('2006-02-12','赵六',17)
    insert into shop(selldate,name,price) values('2006-01-12','赵六',198)

    select * from shop

    解决问题的select语句:
    select name 姓名,
    sum(case when datepart(q,selldate)=1 then price else 0 end) 第一季度,
    sum(case when datepart(q,selldate)=2 then price else 0 end) 第二季度,
    sum(case when datepart(q,selldate)=3 then price else 0 end) 第三季度,
    sum(case when datepart(q,selldate)=4 then price else 0 end) 第四季度,
    sum(price) 小计
    from shop  group by name 


     
    展开全文
  • 文章目录回顾接口+mapper.xml操作数据库Mapper编写有几种方式 ?案例演示利用注解传递参数MyBatis常用注解模糊查询#{}和${}的区别动态SQL简介动态SQL案例演示if的用法choose的用法foreach的用法trim, where, set的...
  • 现代操作系统都使用分页来管理内存,把4G分成每一页为2^12 = 4K大小的页,一共1M个的页(虚拟页VP,VirtualPage)。每一个虚拟页映射到物理内存空间的一个页——物理内存地址空间也划分4K大小的页(物理页PP,...
  • javaweb 实现分页

    千次阅读 2016-05-13 21:05:18
    分页原理什么是分页技术分页,是一将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到...
  • PageHelper分页

    2017-10-30 10:59:14
    PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美。 原本以为分页插件,应该是很简单的...
  • mybatis常用分页插件,快速分页处理

    万次阅读 2016-10-13 17:03:41
    在未分享整个查询分页的执行代码之前,先了解一下执行流程。 1.总体上是利用mybatis的插件拦截器,在sql执行之前拦截,为查询语句加上limit X X 2.用一个Page对象,贯穿整个执行流程,这个Page对象需要用java编写...
  • 条,分页时每页 15 条数据,共分 150 多页,最后一页可以查询,因为代码中是按照末页查询的,但是倒数第二页查询的时候会报错,分页实体异常 No row with the given identifier exists: ...
  • 存储过程分页

    2014-03-09 10:51:37
    实现小数据量和海量数据的通用分页...但这种分页方法仅适用于较小数据量的情形,因为游标本身缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描
  • 第二,在添加文章的时候,自动插入分页符,生成文章时根据分页符生成静态页面.缺点是需要人为控制.优点是人的智能取代机器的智能.使分页更为合理.2 分页命名,以及保存.保存目录,可以根据时间串来存,可以...
  • 分页存储过程

    2013-08-07 15:54:53
    ...SQL Server 的通用分页显示存储过程 ...本文详述实现小数据量和海量数据的通用分页显示存储过程 ...建立一个 Web 应用,分页浏览功能必不可少。...经典的数据分页方法是:ADO 纪录集分页法,也就是利用A
  • 但这种分页方法仅适用于较小数据量的情形,因为游标本身缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据...
  • JavaWeb 分页查询的实现

    万次阅读 多人点赞 2017-05-18 23:48:28
    JavaWeb 分页查询的实现
  • jeesite分页的使用

    2020-08-07 19:59:46
    jeesite的分页,限定了查询方法的参数只能一个,多个参数就会失效。这个参数可以是以下三种类型:jeesite的Page、Page的子类、包含Page属性的类。 下面是个试验: //dao层的定义 /** * 参数:Page类型 * 结果...
  • asp.net分页方法

    2013-08-05 08:27:54
    ASP.NET分页的是我们在编程过程中遇到的常见问题,下面就这个问题说下添美的看法。 q 启用部分数据控件的内置分页功能,如设置GridView控件的"AllowPaging"属性为"true",类似的数据控件还有DetailsView等。 q 通过...
  • 在80286以前,CPU只有实时模式,地址总线20位,而内存地址是16位,也就是最多能够访问 2^20 =1M 的内存空间。 在80286及以后,内存地址改为16位或32位,至少可以访问到 2^32=4G 的内存空间。但为了保证后续的CPU...
  • 分段分页机制

    2018-12-11 16:55:44
    意义:分页机制是为了充分利用空间,将琐碎的地址空间利用起来;  分段机制是为了解决冲突问题,它是一机制,这种机制使得很方便地管理内存; &nbsp; 1. 内存分段 &nbsp; &nbsp; 1.1 为什么分段? &...
  • Ubuntu14.04几种类型的-基本命令

    千次阅读 2017-07-08 19:27:21
    一二三四,试一下 Ctrl + Alt + F1 进入命令行界面 输入管理员用户和密码 sudo add -apt -repository ppa:ubuntu -x -swat /x -updates sudo apt -get update sudo apt -get upgrade sudo reboot ...
  • Linux的分段和分页机制

    千次阅读 2015-11-07 21:23:58
    1 基于80x86的Linux分段机制80386的两工作模式:80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。逻辑...
  • 实模式、保护模式、三地址、分段、分页 https://www.cnblogs.com/kelamoyujuzhen/p/10555924.html 64KB-4GB-64TB? 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也谈及...
  • 前面我们提到Linux内核仅使用了较少的分段机制,但是却对分页机制的依赖性很强,其使用一适合32位和64位结构的通用分页模型,该模型使用 四级分页机制 ,即 页全局目录(Page Global Directory) 页上级...
  • 在实际过运用过程中,我们开发的项目有时需要支持多种数据库,那么在开发中我们会遇到不同的数据库在SQL语句方面还有区别,导致我们有些细节需要去调整,下面就分页功能在不同的数据库中的具体使用详细说明。...
  • csv分页导出

    千次阅读 2018-09-07 15:31:59
    主要 知识点一:HttpServletResponse对象 (1).Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象,向... (2).HttpServletResponse对象可以向客户端发送三种类型...
  • 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的内含,更别说为什么实模式下最大寻址空间为1MB...
  • 最近在项目开发的时候,采用springboot自带的JPA进行原生sql的查询,趟雷中归纳几种可以用来进行单表部分查询、多表关联部分查询、分页查询的几种用法。 设定查询表 //第一张表 public class Student { private ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,572
精华内容 14,628
关键字:

分页符的类型有几种