gt-grid分页使用手册
- 格式:docx
- 大小:52.58 KB
- 文档页数:10
GT使用指南从安装到使用的完整教程GT使用指南:从安装到使用的完整教程GT(Global Translator)是一种功能强大且易于使用的翻译工具,它可以帮助用户在不同语言之间进行快速准确的翻译。
本篇文章将为您提供GT的安装和使用指南,以帮助您轻松地掌握这一工具。
1. 安装GT首先,您需要从GT官方网站下载并安装GT应用程序。
在完成下载后,双击安装程序并按照提示进行安装。
安装完成后,您将在桌面或开始菜单中找到GT的图标。
2. 启动GT双击GT图标启动应用程序。
在打开的界面上,您将看到一个简单而直观的用户界面,其中包含翻译输入框和语言选择框。
3. 选择源语言和目标语言在语言选择框中,您可以选择要翻译的源语言和目标语言。
GT支持多种语言,如英语、中文、法语、德语等。
点击语言选择框,然后从下拉列表中选择您需要的语言组合。
4. 输入翻译文本在翻译输入框中,您可以输入要翻译的文本。
GT支持输入单词、句子甚至整段文字。
您可以手动输入文本,也可以将剪贴板中的文本粘贴到输入框中。
5. 进行翻译在输入完翻译文本后,点击“翻译”按钮开始进行翻译。
GT会立即将源文本翻译成您选择的目标语言,并在界面上显示翻译结果。
6. 查看翻译结果翻译结果将被显示在GT的界面上。
您可以看到源文本和翻译文本之间的对应关系。
如果翻译结果超出了界面的范围,您可以使用滚动条来查看完整的翻译内容。
7. 复制和分享翻译文本如果您想复制翻译结果以便在其他应用程序中使用,可以直接在GT界面上选择文本并使用复制命令。
此外,GT还提供了分享功能,您可以将翻译结果通过电子邮件、社交媒体等方式分享给他人。
8. 设置和个性化GT还提供了一些设置和个性化选项,以满足不同用户的需求。
通过点击菜单栏中的“设置”按钮,您可以调整翻译的速度、字体大小以及其他外观和行为选项。
9. 更新和支持为了获得最佳的翻译体验,建议您定期检查并安装GT的更新版本。
GT还提供了在线帮助文档和技术支持,以帮助解决您在使用过程中遇到的问题。
extjsgrid分页在使⽤extjs创建带分页功能的 grid 如下:1.创建⼀个模型// 创建算定义模型 模型名称 UserExt.define('User', {extend: 'Ext.data.Model',fields: ['name', 'email', 'phone', 'birthDate'] // 加载指定的数据字段});2. 创建store 来存储模型,其中 myPageSize 是默认的页⾯初始⼤⼩,设定为 10// 创建 storevar userStore = Ext.create('Ext.data.Store', {model: 'User', // 使⽤⾃定义模型//fields: ['name', 'email', 'phone','birthDate'], // 添加此字段时,可删除 model 字段autoLoad: false,//id:'UserStoreID',pageSize: myPageSize,proxy: { // proxy 字段从后台获取数据type: 'ajax',url: '/home/GetData',reader: {type: 'json',root: 'data',totalProperty: 'totalCount',}}});3. 创建分页控件⽅法⼀:/* 在grid 底部添加分页控件,将组件添加到该⾯板中的组件或⼀系列组件。
所停靠的项⽬可以停靠在⾯板的顶部、右边、左边或底部。
这通常是⽤于像⼯具栏和标签栏: */ dockedItems: [ {xtype: 'pagingtoolbar',store: userStore, //和 GridPanel 使⽤的 store 是相同的dock: 'bottom',displayInfo: true,displayMsg: '显⽰第{0}条数据到{1}条数据,⼀共有{2}条',emptyMsg: "没有记录"}] 分页控件⽅法⼆:bbar: new Ext.PagingToolbar({ //定义翻页控件pageSize:myPageSize, // 参数1:每页显⽰数store: userStore, // 数据源---⾮常重要displayInfo:true,displayMsg:'显⽰第{0}条数据到{1}条数据,⼀共有{2}条',emptyMsg:'没有记录'}),在后台接收的⽅法具体代码如下(以下是 C# mvc 控制器代码)public JSONHelper GetData(){List<Users> myList = new List<Users>();JSONHelper json = new JSONHelper();json.success = true;json.totlalCount = 50;int num = 10; // 模拟⽣产记录数// post 请求//var pageSize = Request.Form["start"];//var pageIndex = Request.Form["limit"];// get 请求获取 前端发送到服务器的 页⾯号,页⾯⼤⼩var pageIndex = Request.Params["start"]; // 当前请求页⾯号var pageSize = Request.Params["limit"]; // 页⾯⼤⼩// 读取数据var model = userService.GetData(pageIndex, pageSize, null);if (model != null){foreach(var m in model){json.AddItem("name", );json.AddItem("phone", m.Phone);json.AddItem("email", m.Email);json.AddItem("birthDate", m.BirthDate);json.ItemOk();}}return json;}注意: 后台返回的格式⼀定是 json 格式,返回的 json 格式如下:var userData = {"success": true,"totalCount": 12,"users": [{ "name": "Lisa", "email": "aa@", "phone": "111111111",birthdate:'1991-02-01' }, { "name": "Bart", "email": "bb@", "phone": "222222",birthdate:'1991-02-02' },]};。
1.创建存储过程,数据库为Microsoft SQL Server 2000,use Northwindgoselect * from Ordersgoif exists(select * from sysobjects where name='proc_ordersinfo' and type='P')drop procedure proc_ordersinfogo--创建查询表Orders的存储过程,@PageIndex 页面索引(页面索引=当前页数-1),@PageSize 每页显示数据的多少(多少行)--@PageCount 页面总数,@RecordCount 表中的记录总数create procedure proc_ordersinfo@PageIndex int,@PageSize int,@PageCount int outasdeclare @RecordCount int,@strsql nvarchar(1000)select @RecordCount=count(*) from ordersset @PageCount=ceiling(@RecordCount*1.0/@PageSize)--第1种情况,表只够分成一页if @PageIndex=0 or @PageCount<=1set @strsql=N'select top'+str(@PageSize)+'* from Orders order by OrderID desc' --第2种情况,要查询表的最后一页(可看作表Orders已被分成几个页了)else if @PageIndex=@PageCount-1set @strsql=N'select * from(selecttop'+str(@RecordCount-@PageIndex*@PageSize)+'* from Orders order by OrderID asc) TempTable order by OrderID desc'--第3种情况,查询非表的最后一页elseset @strsql=N'select top'+str(@PageSize)+'* from(selecttop'+str(@RecordCount-@PageIndex*@PageSize)+'* from Orders order by OrderID asc) TempTable order by OrderID desc'--执行SQL语句exec (@strsql)go2.创建显示数据的方法class CConnDB里的方法returnConn()返回数据库连接using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;//导入需要使用的命名空间using System.Data.SqlClient;/// <summary>/// CConnDB 的摘要说明/// </summary>public class CConnDB{public CConnDB(){//// TODO: 在此处添加构造函数逻辑//}public SqlConnection returnConn() {SqlConnection sconn = newSqlConnection("server=.;database=Northwind;uid=sa;pwd=sa");return sconn;}}class CDisplayOdersInfo里的方法DisplayOrdersInfo()返回一个DataSetusing System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;//导入需要使用的命名空间using System.Data.SqlClient;/// <summary>/// CDisplayOdersInfo 的摘要说明/// </summary>public class CDisplayOdersInfo{CConnDB ccdb = new CConnDB();//pageCount为页面总数private int pageCount;public CDisplayOdersInfo(){//// TODO: 在此处添加构造函数逻辑//}public DataSet DisplayOrdersInfo(int pageIndex,int pageSize) {SqlConnection sconn = ccdb.returnConn();SqlCommand scmd = new SqlCommand("proc_ordersinfo",sconn);scmd.Parameters.Add(new SqlParameter("@PageIndex",SqlDbType.Int));scmd.Parameters[0].Value = pageIndex;scmd.Parameters.Add(new SqlParameter("@PageSize",SqlDbType.Int));scmd.Parameters[1].Value = pageSize;scmd.Parameters.Add(new SqlParameter("@PageCount",SqlDbType.Int));scmd.Parameters[2].Direction = ParameterDirection.Output;mandType = CommandType.StoredProcedure;SqlDataAdapter sda = new SqlDataAdapter(scmd);DataSet ds = new DataSet();sda.Fill(ds);pageCount = (int)scmd.Parameters[2].Value;return ds;}public int returnPageCount() {return pageCount;}}3.页面设计和页面代码页面设计<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div> <asp:LinkButton ID="lbPrev" runat="server"OnClick="lbPrev_Click">上一页</asp:LinkButton><asp:Label ID="lblPageNum" runat="server"></asp:Label><asp:LinkButton ID="lbNext" runat="server" OnClick="lbNext_Click">下一页</asp:LinkButton><asp:GridView ID="gvMain" runat="server"></asp:GridView></div></form></body></html>页面代码using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page{CDisplayOdersInfo cdoi = new CDisplayOdersInfo();//pageIndex 页面索引(页面索引=当前页数-1),pageSize 每页显示多少数据(多少行)//pageCount 页面的总页数private static int pageIndex = 0;private static int pageSize = 50;private static int pageCount = 0;protected void Page_Load(object sender, EventArgs e){if (!IsPostBack) {GridViewDataBind();}}private void GridViewDataBind() {DataSet ds= cdoi.DisplayOrdersInfo(pageIndex,pageSize);gvMain.DataSource = ds;gvMain.DataBind();pageCount = cdoi.returnPageCount();lblPageNum.Text ="当前页数:"+ Convert.ToString(pageIndex+1);}protected void lbPrev_Click(object sender, EventArgs e){pageIndex--;if (pageIndex < 0) {Response.Write("<script language=javascript>alert('已到首页!')</script>");pageIndex++;return;}GridViewDataBind();}protected void lbNext_Click(object sender, EventArgs e){pageIndex++;if (pageIndex >=pageCount){Response.Write("<script language=javascript>alert('已到尾页!')</script>");pageIndex--;return;}GridViewDataBind();}}。
delphi tgrid用法-回复Delphi TGrid是一个非常常用的控件,用于在Delphi程序中显示和编辑数据的表格。
它提供了丰富的功能,可以让我们轻松地实现数据的展示、排序和编辑等操作。
本文将一步一步地回答关于Delphi TGrid的用法。
第一步:创建TGrid控件在Delphi中,我们可以使用TGrid控件来实现表格的显示和编辑。
首先,我们需要在Delphi的窗体上放置一个TGrid控件。
可以通过在VCL界面上选择“Standard”分类下的“Grid”控件来放置一个TGrid控件。
第二步:设置TGrid属性TGrid控件的属性决定了它的外观和功能。
我们可以通过点击TGrid控件,在Object Inspector中设置相应的属性来满足我们的需求。
1. 设置行和列的数目:在TGrid控件的属性中,我们可以设置Rows属性来定义表格的行数,Cols属性来定义表格的列数。
2. 设置表格显示方式:在TGrid控件的Options属性中,我们可以设置显示方式,如定制大小、固定列宽、显示网格线等。
3. 设置表头:TGrid控件提供了FixedCols和FixedRows属性,用于设置表头的列和行。
通过设置FixedCols和FixedRows属性,我们可以将特定的列和行固定在表格上方,方便查看。
4. 设置单元格显示方式:我们可以设置默认的单元格显示方式,如文本对齐方式、是否允许编辑、颜色等。
可以通过使用TGrid控件的CellStyle 属性,为不同类型的单元格设置不同的样式。
5. 绑定数据源:使用TGrid控件,我们通常会将其绑定到一个数据源上,以显示和编辑数据。
可以通过设置TGrid控件的DataSource属性,将TGrid和数据源绑定起来。
第三步:设置数据源为了在TGrid控件中显示和编辑数据,我们需要将其与一个数据源绑定。
TGrid可以绑定到多种类型的数据源,包括TDataSet、TDataSource、TClientDataSet等。
GRID应用一、创建GRID打开数据编辑平台,选择菜单栏“DTM分析”中的“GRID分析”下的“创建GRID”开始创建GRID;出现GRID参数窗口,输入所需创建区域的相应参数;下以丹凤县兰伯特数据为例,在“范围”标签下输入丹凤县行政面的各项参数;设置GRID大小指网格的行列数,这里我们以250*250为例,通过计算可以得出行列数;[行数=(maxy-miny)/250,列数=(maxx-minx)/250],点击“确定”显示“创建成功”即可;选择菜单栏“DTM分析”中的“GRID分析”下的“网格显隐”可以看到网格创建情况;放大窗口可看清网格分布情况二、设置有效区打开菜单栏“DTM分析”下“GRID分析”中的“设置有效区”;在弹出的“设置初始有效值”窗口中设置初始有效值,默认值为“0”;点击“确定”选择所需建立的区域,这里选择丹凤县行政面图层;设置完成即建立了一个空白的GRID;打开菜单栏“DTM分析”下“GRID分析”中的“保存GRID文件”;三、GRID分析在GRID分析中我们利用之前介绍的方法,通过所需分析区域行政面建立两个空白的GRID,称为“基础GRID”和“分析GRID”,这里以地灾分析为例,即建立一个“地灾基础GRID”和“地灾分析GRID”存放在程序配置文件中的Basemap中以便调用;在程序中,地灾因子计算窗口中的“计算综合地灾Grid”即是计算“地灾基础GRID”的值;在该程序中,影响基础地质的因子有易发分区和水系两个,计算基础地质的公式应为“易发分区值*易发分区的影响值+水系值*水系面影响值”,计算出来的值即为综合地质GRID值,将该计算结果插入事先建立的空白的“基础GRID”中,即构建了一个该区域的地灾基础GRID;“分析GRID”的计算公式为“地灾基础GRID值*地质因子影响值+实况雨量*实况雨量影响值+预报雨量*预报雨量影响值”,通过公式将计算出来的值插入“分析GRID”中,即构建了一个地灾分析GRID;在此处,影响地灾预警预报结果的影响因子只有“地质”、“实况雨量”和“预报雨量”,所以三者的影响值相加为1;生成的地灾分析GRID即地灾气象预报的成果,可以得到该区域地质灾害发生的可能性;同理,在计算森林火险GRID时事先根据计算区域行政面建立两个空白GRID,用来存放森林火险基础GRID和森林火险分析GRID;森林火险基础GRID值即此处的综合地质GRID的值,该处影响森林火险的基础因子只有森林分布,所以森林基础因子值等于森林分布数值*森林分布影响值(即1);将该值插入事先建立的空白基础GRID中,作为森林火险基础GRID;影响森林火险的因素为森林分布和气象情况(两者影响值相加为1),所以森林火险分析GRID的值应为“森林火险基础GRID值*森林因子影响值+气象因子*气象因子影响值”;生成的森林火险分析GRID即森林火险预警预报的成果,可以得到该区域森林火险发生的可能性;。
grid中的高级用法在网页设计和布局中,CSS的Grid布局是一种强大而灵活的工具。
除了常见的基本用法之外,Grid还提供了许多高级功能,可以帮助设计师更好地控制页面布局和元素位置。
1. 嵌套Grid:Grid布局支持嵌套,这意味着可以在一个Grid容器中创建另一个Grid布局。
这使得我们可以更精细地定义网页布局和元素的位置。
通过嵌套Grid,我们可以在一个Grid单元格内创建更复杂的布局,使得页面更具层次感。
2. 自适应网格:Grid提供了自适应网格的功能,这意味着我们可以根据元素的大小和内容自动调整网格的大小和位置。
通过设置grid-template-columns和grid-template-rows属性为auto,网格将自动调整以适应元素的大小。
这使得网页可以适应不同的屏幕尺寸和设备。
3. 网格对齐:Grid布局提供了丰富的网格对齐方式,可以更好地控制元素在网格单元格中的位置。
通过使用justify-items和align-items属性,我们可以水平和垂直对齐单个元素。
而通过使用justify-content和align-content属性,我们可以对齐整个网格中的元素。
4. 自由定位:Grid中的自由定位功能允许我们在网格容器中自由放置元素,而不受网格单元格的限制。
通过使用grid-column-start,grid-column-end,grid-row-start和grid-row-end属性,我们可以精确地指定元素在网格中的位置和跨度。
这使得我们能够更好地控制布局的细节和元素之间的间距。
5. 响应式设计:Grid布局可以与CSS媒体查询一起使用,从而实现响应式设计。
通过在不同的媒体查询中更改网格样式,我们可以根据不同的屏幕尺寸和设备调整网页的布局和元素排列。
这使得网页可以在不同的屏幕上呈现出最佳的视觉效果和用户体验。
Grid布局提供了许多高级用法,使得网页设计师能够更精确地控制页面布局和元素位置。
关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用。
多选时,只有全部选中时“多选”才选中。
图片效果:简单示例,代码如下,fenpage.aspx的代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="fenpage.aspx. cs" Inherits="gridview_fenpage" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w /TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title></title><script language="javascript" type="text/javascript">// 判断多选是否与选中项(没有选中的返回false)function slcNo_click(){if (document.form1.checkboxname.length){for (var i=0;i<document.form1.checkboxname.length;i++){if(document.form1.checkboxname[i].checked){return true;}}}else{if(document.form1.checkboxname.checked){return true;}}alert("请选择后再操作!");return false;}// 鼠标经过改变行的颜色if (!objbeforeItem){var objbeforeItem=null;var objbeforeItembackgroundColor=null;}function ItemOver(obj){if(objbeforeItem){objbeforeItem.style.backgroundColor = objbeforeItembackgroundColor;}objbeforeItembackgroundColor = obj.style.backgroundColor;objbeforeItem = obj;obj.style.backgroundColor = "#B9D1F3";}//// 多选的全选与取消function checkJs(boolvalue){if(document.all.checkboxname.length>1){for(var i=0;i<document.all.checkboxname.length;i++){document.all.checkboxname[i].checked = boolvalue;}}elsedocument.all.checkboxname.checked = boolvalue;}//// 只有全部选中时“全选”选中function SingleCheckJs(){var flag1=false;var flag2=false;if (document.form1.checkboxname.length){for (var i=0;i<document.form1.checkboxname.length;i++){if(document.form1.checkboxname[i].checked)flag1 = true;elseflag2 = true;}}else{if(document.form1.checkboxname.checked)flag1 = true;elseflag2 = true;}if(flag1==true&&flag2==false)document.getElementById("chk").checked = true;elsedocument.getElementById("chk").checked = false;}//</script></head><body><form id="form1" runat="server"><div><table cellpadding="0" cellspacing="0" border="0" width="80%" style ="font-size: 11px"><tr><td align="center"><asp:GridView ID="GridView1" runat="server" Width="100% " CellPadding="4" ForeColor="#333333"AutoGenerateColumns="False" AllowPaging="True" PageSize ="12" BorderColor="Silver"BorderStyle="Solid" BorderWidth="1px" OnRowDataBound= "GridView1_RowDataBound"ShowFooter="True" EmptyDataText="没有数据记录!!" AllowSorting="True" OnSorting="GridView1_Sorting"><Columns><asp:BoundField HeaderText="编号" DataField="id" Visibl e="False"/><asp:TemplateField HeaderText="<input type='checkb ox' id='chk' name='chk' onclick='checkJs(this.checked);' />全选" FooterText="全选"><ItemTemplate><input type="checkbox" id="checkboxname" name ="checkboxname" value='<%# DataBinder.Eval(Container.DataItem, "id")%>' o nclick='SingleCheckJs();' /></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="单选" FooterText="单选"><ItemTemplate><input type="radio" id="RadioName" name="Radio Name" value='<%# Eval("id")%>' /></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="自增列" FooterText="自增列"><ItemTemplate><%# (Container.DataItemIndex+1).ToString()%></ItemTemplate></asp:TemplateField><asp:BoundField HeaderText="姓名" FooterText="姓名" D ataField="name" SortExpression="name"/><asp:BoundField HeaderText="身份证号" FooterText="身份证号" DataField="card" SortExpression="card"/><asp:BoundField HeaderText="价格" FooterText="价格" D ataField="price" DataFormatString="{0:¥#,##0.00}"HtmlEncode="False" SortExpression="price"/><asp:BoundField HeaderText="数字" FooterText="数字" D ataField="price" DataFormatString="{0:0.00}"HtmlEncode="False" SortExpression="price"/><asp:BoundField HeaderText="建立时间" FooterText="建立时间" DataField="createdate" DataFormatString="{0:yyyy年MM月dd日 hh时mm 分ss秒}"HtmlEncode="False" SortExpression="createdate"/></Columns><RowStyle BackColor="#F7F6F3" ForeColor="#333333"/><EditRowStyle BackColor="#999999"/><SelectedRowStyle BackColor="#E2DED6" Font-Bold="True " ForeColor="#333333"/><PagerStyle BackColor="#284775" ForeColor="White" Horiz ontalAlign="Center"/><AlternatingRowStyle BackColor="White" ForeColor="#2847 75"/><PagerSettings Visible="False"/><FooterStyle Font-Bold="True"/><HeaderStyle Font-Bold="False" Font-Italic="False"/></asp:GridView></td></tr><tr><td align="center" style="height: 25px"><asp:LinkButton ID="btnFirst" CommandArgument="first" OnC lick="PagerButtonClick"runat="server">首页</asp:LinkButton><asp:LinkButton ID="btnPrev" CommandArgument="prev" On Click="PagerButtonClick" runat="server">上一页</asp:LinkButton><asp:LinkButton ID="btnNext" CommandArgument="next" On Click="PagerButtonClick" runat="server">下一页</asp:LinkButton><asp:LinkButton ID="btnLast" CommandArgument="last" OnCl ick="PagerButtonClick" runat="server">尾页</asp:LinkButton><asp:Label ID="LblCurrentIndex" runat="server"></asp:Labe l><asp:Label ID="LblPageCount" runat="server"></asp:Label><asp:Label ID="LblRecordCount" runat="server"></asp:Labe l></td></tr><tr><td><asp:Button ID="Button2" runat="server" Text="checkbox得到选择的行" OnClick="Button2_Click"></asp:Button><asp:Button ID="Button1" runat="server" Text="radio得到选择的行" OnClick="Button1_Click"></asp:Button></td></tr></table></div></form></body></html>fenpage.aspx.cs的代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class gridview_fenpage : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){Button2.Attributes["onclick"] = "return slcNo_click();";GridViewBind("");}private void GridViewBind(string Sqlsort){string connStr = ConfigurationManager.ConnectionStrings["ConnString1"]. ConnectionString;string SqlStr = "SELECT * FROM test01 where id<1000" + Sqlsort;DataSet ds = new DataSet();try{SqlConnection conn = new SqlConnection(connStr);if (conn.State.ToString() == "Closed") conn.Open();SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);da.Fill(ds, "test01");if (conn.State.ToString() == "Open") conn.Close();GridView1.DataSource = ds.Tables[0].DefaultView;GridView1.DataBind();LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString () + " 页";LblPageCount.Text = "共 " + GridView1 .PageCount.ToString()+ " 页";LblRecordCount.Text = "总共 "+ds.Tables[0].Rows.Count.ToString()+ " 条";if (ds.Tables[0].Rows.Count == 0){btnFirst.Visible = false;btnPrev.Visible = false;btnNext.Visible = false;btnLast.Visible = false;LblCurrentIndex.Visible = false;LblPageCount.Visible = false;LblRecordCount.Visible = false;}else if (GridView1.PageCount == 1){btnFirst.Visible = false;btnPrev.Visible = false;btnNext.Visible = false;btnLast.Visible = false;}// 计算生成分页页码,分别为:"首页" "上一页" "下一页" "尾页"mandName = "1";mandName = (GridView1.PageIndex == 0 ? "1" : GridView 1.PageIndex.ToString());mandName = (GridView1.PageCount == 1 ? GridView1.Pa geCount.ToString() : (GridView1.PageIndex + 2).ToString());mandName = GridView1.PageCount.ToString();//}catch(Exception ex){Response.Write("数据库错误,错误原因:"+ex.Message);Response.End();}}protected void PagerButtonClick(object sender, EventArgs e){GridView1.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandN ame)-1;GridViewBind("");}protected void GridView1_RowDataBound(object sender, GridViewRowEventA rgs e){e.Row.Attributes["onmouseover"] = "ItemOver(this)";}protected void Button2_Click(object sender, EventArgs e){string str="";string []ckb=null;str=Request.Form.Get("checkboxname");ckb=str.Split(new char[]{','});Response.Write("直接在页面中得到的值为:"+str+"<br>");Response.Write("处理后存放在数组中,如下:<br>");for(int i=0;i<ckb.Length;i++){Response.Write("ckb["+i+"]的值为:"+ckb[i]+"<br>");}}protected void Button1_Click(object sender, EventArgs e){Response.Write(Request.Form.Get("RadioName"));}protected void GridView1_Sorting(object sender, GridViewSortEventArgs e){string sql = "";if (ViewState["SortDirection"] == null || ViewState["SortDirection"].ToStri ng().CompareTo("") == 0){ViewState["SortDirection"] = " desc";}elseViewState["SortDirection"] = "";sql = " order by " + e.SortExpression + ViewState["SortDirection"];GridViewBind(sql);}}数据库中表的生成代码:CREATE TABLE[dbo].[test01] ([id][decimal](18, 0) IDENTITY (1, 1) NOT NULL ,[name][varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[card][varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,[createdate][datetime]NULL) ON[PRIMARY]GOALTER TABLE[dbo].[test01]ADDCONSTRAINT[DF_test01_createdate]DEFAULT (getdate()) FOR[createdate],CONSTRAINT[PK_test01]PRIMARY KEY CLUSTERED([id]) ON[PRIMARY]GO。
GRID简介第一节 GRID基础一、GRID数据来源GRID是有别于矢量数据模型的另一种广泛应用的数据模型。
可以说,如果没有矢量数据,GRID可以单独构建GIS大厦。
GRID的突出特点是:数据可以直接来源于遥感图像,其空间分析功能从理论上将可以满足地学分析的各个方面。
因此,了解GRID的基本思想是非常有用的。
ARC/INFO支持GRID数据模型,而且在各个方面设计的都很好。
本文从实际应用出发主要介绍GRID的具体功能,力图使应用者能够独立开展工作,并随着工作的不断深入完全掌握,成为良好的工具。
GRID的基本特征有象元大小(CELL SIZE)、属性表(VAT)、坐标。
GRID以行列表示,类似于图像。
象元的值可以任意表示任何相关的事物。
象元是正方形,其大小代表数据的空间分辨率。
任何在空间位置上重叠的GRID层面均可进行各种数学融合产生新的数据集合。
作为但个GRID层面可以进行逐个象元的任意改变,这就为应用者提供了广阔的遐想空间。
GRID最适于进行空间趋势分析。
其数据来源很广泛,可以直接有矢量数据转换而来,也可有图像直接转换。
1、从COVERAGE产生ARC下命令:LINEGRID <in_cover> <out_grid> {value_item} {lookup_table} {weight_table} POINTGRID <in_cover> <out_grid> {value_item} {lookup_table} {weight_table} POLYGRID <in_cover> <out_grid> {value_item} {lookup_table} {weight_table}由线转换的GRID线的属性可以直接成为GRID数据的象元值。
同样点和多边形的属性也可转换。
GRID中无数据是NODATA概念,它可以根据需要显示成任何颜色。
GridView控件自定义分页详解在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析!1<asp:GridView ID="NewsGrid" runat="server" AutoGenerateColumns="False" AllowPaging="false" Width="100%">2 <Columns>3 <asp:BoundField DataField="NewsId" HeaderText="新闻ID"/>4 <asp:HyperLinkField DataNavigateUrlFields="NewsId" DataNavigateUrlFormatString="~/Details.aspx?ID={0}"5 DataTextField="Title" HeaderText="新闻标题" ItemStyle-Width="70%"/>6 <asp:BoundField DataField="PostTime" HeaderText="发布时间"/>7 <asp:CommandField HeaderText="新闻管理" ShowCancelButton="False" ShowDeleteButton="True"8 ShowEditButton="True"/>9 </Columns>10 </asp:GridView>实用文档11 <div style=" height:16px; padding-top:5px; margin-right:30px; float:right">12 <asp:HiddenField ID="CurrentPage" runat="server" Value="0"/>13 <asp:LinkButton ID="First" runat="server" CommandArgument="first" OnClick="PagerButton_Click">首页</asp:LinkButton>14 <asp:LinkButton ID="Prev" runat="server" CommandArgument="prev" OnClick="PagerButton_Click">上一页</asp:LinkButton>15 <asp:LinkButton ID="Next" runat="server" CommandArgument="next" OnClick="PagerButton_Click">下一页</asp:LinkButton>16 <asp:LinkButton ID="Last" runat="server" CommandArgument="last" OnClick="PagerButton_Click">尾页</asp:LinkButton>17 </div> CS文件中的代码:1 protected void PagerButton_Click(object sender, EventArgs e)2 {3 int pageIndx = Convert.ToInt32(CurrentPage.Value);4 int totals = NewsManager.GetNews(0, pageSize).TotalRecords;5 int pages = (totals % pageSize) == 0 ? (totals / pageSize) : (totals / 实用文档pageSize + 1);6 string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();7 switch (arg)8 {9 case "prev":10 if (pageIndx > 0)11 {12 pageIndx -= 1;13 }14 break;15 case "next":16 if (pageIndx < pages - 1)17 {18 pageIndx += 1;19 }20 break;21 case "last":实用文档22 pageIndx = pages - 1;23 break;24 default:25 pageIndx = 0;26 break;27 }28 CurrentPage.Value = pageIndx.ToString();29 NewsGrid.DataSource = NewsManager.GetNews(pageIndx , pageSize).Entities;30 NewsGrid.DataBind();31 }如何在GridView中增加效果protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){//将满足特定条件的行标为高亮if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarow类型的行实用文档{int money = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "MONEY"));//取当前行的列值if (money == 77)e.Row.BackColor = Color.Red;//string customer = (string)DataBinder.Eval(e.Row.DataItem, "CUSTOMER");string customer = DataBinder.Eval(e.Row.DataItem, "CUSTOMER").ToString();if (customer == "sdf")e.Row.BackColor = Color.Red;}//加入鼠标滑过的高亮效果if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarow类型的行{//当鼠标放上去的时候先保存当前行的背景颜色并给附一颜色e.Row.Attributes.Add("onmouseover", 实用文档"currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',t his.style.fontWeight='';");//当鼠标离开的时候将背景颜色还原的以前的颜色e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");}//单击行改变行背景颜色if (e.Row.RowType == DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");}如何在GridView中一次性批量更新多行数据2.0下含有DropDownList的GridView编辑、删除的完整例子!<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="10"实用文档Width="542px" AllowPaging="True" AllowSorting="True"DataKeyNames="DB31_1,DB31_2" OnRowCancelingEdit="GridView1_RowCancelingEdit"OnRowDeleting="GridView1_RowDeleting"OnRowEditing="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating"OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"OnSorting="GridView1_Sorting" ><Columns><asp:TemplateField HeaderText="序号"><ItemTemplate><%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%></ItemTemplate></asp:TemplateField>实用文档<asp:TemplateField HeaderText="学历代码" SortExpression="DB1_1"><EditItemTemplate><%--<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DB1_1") %>'></asp:TextBox>--%><asp:DropDownList ID ="ddlXL"runat="server" DataValueField='<%#Bind("DB1_1") %>'></asp:DropDownList></EditItemTemplate><ItemTemplate><asp:Label ID="Label1" runat="server" Text='<%# Bind("xueliText") %>'></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="学历名称" SortExpression="DB1_2"><EditItemTemplate>实用文档<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:TextBox></EditItemTemplate><ItemTemplate><asp:Label ID="Label2" runat="server" Text='<%# Bind("DB1_2") %>'></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="操作" ShowHeader="False"><EditItemTemplate><asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"Text="更新"></asp:LinkButton><asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"实用文档Text="取消"></asp:LinkButton></EditItemTemplate><ItemTemplate><asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"Text="编辑" OnClientClick="return confirm('确认要编辑吗?');"></asp:LinkButton><asp:LinkButton ID="LinkButton3" runat="server" CausesValidation="False" CommandName="Delete"Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton><asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Select"Text="选择"></asp:LinkButton></ItemTemplate>实用文档</asp:TemplateField></Columns><AlternatingRowStyle BackColor="Aquamarine" /></asp:GridView>/// <summary>/// 绑定数据到GridView/// </summary>private void GridViewBind(){检索数据库string strSql = "SELECT * FROM DB1";得到数据集this.GridView1.DataSource=conn.GetDs(strSql).Tables[0].DefaultView;this.GridView1.DataBind();实用文档}/// <summary>/// 编辑当前行/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e){GridView1.EditIndex = e.NewEditIndex;//当前编辑行背景色高亮this.GridView1.EditRowStyle.BackColor = Color.FromName("#F7CE90");GridViewBind();}/// <summary>实用文档/// 取消编辑状态/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e){GridView1.EditIndex = -1;GridViewBind();}/// <summary>/// 删除记录过程/// </summary>/// <param name="sender"></param>/// <param name="e"></param>实用文档protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e){//得到单位编号string rowToDelete =GridView1.DataKeys[e.RowIndex].Values[0].ToString();//转换为整数//int ID=Convert.ToInt32(rowToDelete);//从数据库中删除string str = "DELETE FROM DB1 where DB1_1=" + "'" + rowToDelete + "'" + "";try{conn.RunSql(str);//重新绑定数据实用文档GridViewBind();}catch (Exception ex){Response.Write("数据库错误,错误原因:" + ex.Message);Response.End();}}/// <summary>/// 更新记录过程/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)实用文档{string ID = GridView1.DataKeys[e.RowIndex].Values[0].ToString();string DB1_1 =((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;//string DB1_2 =((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;string DB1_2 =(((DropDownList))GridView1.Rows[e.RowIndex].FindControl("ddlXL")).SelectedI tem.Text;//判断表单项是否有空并给出提示信息if (DB1_1 == "" || DB1_2 == ""){conn.Alert("请输入完整信息!", Page);return;}实用文档try{conn.BuilderEdit("select * from DB1 where DB1_1 ='" + ID + "'");conn.dr["DB1_1"] = DB1_1;conn.dr["DB1_2"] = DB1_2;conn.BuilderEditClose();}catch (OracleException err){if (err.Code.ToString() == "1")conn.Alert("错误:已存在具有相同主键的记录", Page);elseconn.Alert("错误:未能添加记录", Page);}实用文档Response.Write("<script language='javascript'>alert('数据已被保存!');</script>");//返回浏览状态GridView1.EditIndex = -1;GridViewBind();}/// <summary>/// 分页事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){GridView1.PageIndex = e.NewPageIndex;GridViewBind();实用文档}/// <summary>/// 加入鼠标效果及为DropDownList绑定值/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){//为DropDownList绑定值if (((DropDownList)e.Row.FindControl("ddlXL")) != null){DropDownList ddlXL = (DropDownList)e.Row.FindControl("ddlXL");ddlXL.Items.Clear();ddlXL.Items.Add(new ListItem("博士", "1"));实用文档ddlXL.Items.Add(new ListItem("硕士", "2"));ddlXL.Items.Add(new ListItem("学士", "3"));}//加入鼠标滑过的高亮效果if (e.Row.RowType == DataControlRowType.DataRow)//判定当前的行是否属于datarow类型的行{//当鼠标放上去的时候先保存当前行的背景颜色并给附一颜色e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',t his.style.fontWeight='';");//当鼠标离开的时候将背景颜色还原的以前的颜色e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor,this.style.fontWeight='';");}//单击行改变行背景颜色实用文档if (e.Row.RowType == DataControlRowType.DataRow){e.Row.Attributes.Add("onclick", "this.style.backgroundColor='#99cc00'; this.style.color='buttontext';this.style.cursor='default';");}}2.0下含有CheckBox的GridView删除选定记录实例<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="5"2 Width="726px" AllowPaging="True" AllowSorting="True"3 DataKeyNames="DB1_1,DB1_2" OnRowDeleting="GridVie w1_RowDeleting" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound"OnSorting="GridView1_Sorting" Height="279px" >4 <Columns>实用文档5 <asp:TemplateField HeaderText="序号" >6 <ItemTemplate>7 <%# this.GridView1.PageIndex *this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>8 </ItemTemplate>9 </asp:TemplateField>10 <asp:TemplateField HeaderText="选择" >11 <ItemTemplate>12 <asp:CheckBox ID="chkSelect" runat="server" ></asp:CheckBox>13 </ItemTemplate>14 </asp:TemplateField>15 <asp:TemplateField HeaderText="操作" ShowHeader="False">16 <ItemTemplate>实用文档17 <asp:LinkButton ID="lbtnDelete" runat="server" CausesValidation="False" CommandName="Delete"18 Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>19 </ItemTemplate>20 </asp:TemplateField>21 </Columns>22 <AlternatingRowStyle BackColor="Aquamarine" />23 </asp:GridView>1 <asp:CheckBox ID="chkSelectAll" runat="server" Text="全部选中" OnCheckedChanged="chkSelectAll_CheckedChanged"AutoPostBack="True" ></asp:CheckBox>2 <asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />1 protected void btnDelete_Click(object sender, EventArgs e)2 {实用文档3 string strDelete = "";4 for (int i = 0; i < this.GridView1.Rows.Count; i++)5 {6 string Label;7 bool isChecked =((CheckBox)GridView1.Rows[i].FindControl("chkSelect")).Checked;8 Label = ((Label)GridView1.Rows[i].FindControl("labXH")).Text;9 if (isChecked)10 {11 strDelete = "DB1_1" + "=" + Label;12 }13 }14 conn.RunSql("Delete from DB1 where " + strDelete15 this.chkSelectAll.Checked = false;16 GridViewBind();实用文档17 }1819 protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)20 {21 //遍历GridView行获取CheckBox属性22 for (int i = 0; i < this.GridView1.Rows.Count; i++)23 {24 ((CheckBox)GridView1.Rows[i].FindControl("chkSelect")).Checked = this.chkSelectAll.Checked;25 }26 }实用文档。
数据必须为一个json数组, 数组中的每一项为一个js对象/js数组.例如下面两种形式的数据都是可以的.(但是不能混合使用).数组中的每一项代表单条数据. 以下简称record.2:定义数据集有了数据还不够, 因为GT-Grid未必就能理解这些数据, 你还需要对数据进行简单的描述.这个描述就是定义数据集.如:var dsConfig= {data : data1fields :[{name : 'no' , type: 'int' , index : 'no' },{name : 'name' , type: 'string' , index : 'name' },{name : 'age' , type: 'int' , index : 'age' },{name : 'gender' , type: 'string' , index : 'gender' },{name : 'english', type: 'float' , index : 'english' },{name : 'math' , type: 'float' , index : 'math' } ]}data 指向之前的数据.fields 是一个数组, 描述record各个字段的信息,类似数据库表中的列信息.name : 字段的名字 (虽然时name 但是性质和id类似, 在一个数据集内要保持唯一性) type :字段的类型 ( 目前只支持 string ,int, float , 为什么没有date类型?因为我觉得没必要,以后我会找机会解释一下我的想法和建议)index: 字段对应的"record的属性名". 根据index,GT-Grid就可以知道这一列对应的时record哪个属性的值.index说白了就是你数据库里面的列名;也可以说成是:通过后台转换后生成的json格式数据里面的key;当type 为string 时, 可省略type设置.当index 和name 一致时, 可省略index设置.定义每一列的列标头和以及该列对应的数据如下:var colsConfig = [{ id : 'no' ,header : "学号" , fieldName : 'no' },{ id : 'name' ,header : "姓名" , fieldName : 'name' },{ id : 'age' ,header : "年龄" , fieldName : 'age' },{ id : 'gender' ,header : "性别" , fieldName : 'gender' },{ id : 'english' , header : "英语" , fieldName : 'english' },{ id : 'math' , header : "数学" , fieldName : 'math' }];对各个参数的解释:1.id : 列的唯一标识, 必须保证列表内唯一,建议整个页面唯一.2.header : 列表的表头显示的文字信息.3.fieldName : 列表的该列对应的 dataset(数据集)中的列(字段).4:gt-grid组件定义并创建GT-Grid对象.创建GT-Grid对象的方法如下:var mygrid1 = new GT.Grid( { /*...一些配置信息...*/ } );例子如下:var gridConfig={id : "grid1",dataset : dsConfig ,columns : colsConfig ,container : 'grid1_container', //body中用来显示gt-grid数据的divIDtoolbarPosition : 'bottom',toolbarContent : 'state'};var mygrid=new GT.Grid( gridConfig );对各个参数的解释:id : 每个列表组件都有一个id 该id在页面内唯一.dataset :列表对应的数据集columns:??? 这是什么 ??? 别急.container : 列表的容器的id. 列表最后是要显示在页面中某个位置.这个容器就是那个"位置",通常是一个div或者时td.toolbarPosition : 工具栏的位置. 可选值:'top'/'bottom'/null, 暂时不支持上下都显示.toolbarContent : 工具栏上要显示的东西, state表示的数据数量信息(分页信息),如共几条共几页当前是第几条等等.这个属性的其他用法暂时先不用管.总的来说,主要就是一下几步:1.var data1 ... //定义数据2.var dsConfig .... //定义数据集3.var colsConfig ... //定义列信息4.var gridConfig .... //定义gt-grid控件5.var mygrid=new GT.Grid( gridConfig );6.GT.Utils.onLoad( GT.Grid.render(mygrid) );在jsp的body里面所需要做的就是:1:引入gt-grid的一些js和样式<script type="text/javascript" src="./gt_msg_cn.js"></script><script type="text/javascript" src="./gt_grid_all.js"></script><script type="text/javascript" >// GT-GRID代码</script></head><body><!-- grid的容器. --><div id="grid1_container" style="width:700px;height:300px"></div></body></htmlRenderer方法:单词的意思:渲染器,描绘器;在gt-grid里面叫做叫做"扩展显示列".作用是:用来显示一些数据以外的东西比如:一个按钮或者是图片或者是链接, 点击后可以执行一些特殊的操作如:var colsConfig = [/* ...其他column略... */{ id : 'detail' , header : "详细信息" , width : 120,renderer : function(value ,record,columnObj,grid,colNo,rowNo){return '<a href=".?no='+record['no']+'" >'+ record['name'] +' 的详细信息</a>';}}];column.renderer 函数的返回值是一个合法的html字符串. 这个返回值将显示在表格的相应单元格内.renderer 函数的里面会有 6个参数,依次为1.value : 相应单元格对应的数据值 (本例中为null, 因为数据集中根本就没有detail列)2.record : 迭代中当前的record3.columnObj : 当前的column对象,4.grid : 当前的grid对象.5.colNo : 当前的列号6.rowNo : 迭代中当前的行号个性化渲染列1.var colsConfig = [2. /* ...其他column略 ... */3. { id : 'total' , header : "总成绩" , width : 70 , align :'right',4. renderer : function(value ,record,columnObj,grid,colNo,rowNo){5. var total = record['total'];6. if (total>170) {7. total = '<span style="color:red" >'+ total +'</span>';8. }else if (total<120) {9. total = '<span style="color:blue" >'+ total +'</span>';10. }11. return total;12. }13. }14.];toolbarContent:工具栏toolbarContent : 'nav | goto | pagesize | state' ,大家要注意, nav ,| ,state 三者之间有空格间隔.nav:代表的就是导航按钮区.导航区中包含了四个按钮: 第一页前一页后一页最后一页goto :"直接调转到指定页"的功能.pageSize :页容toolbarPosition : 工具栏的位置. 可选值:'top'/'bottom'/null, 暂时不支持上下都显示. remotePaging :是否远程分页(true、false)loadURL:分页的连接(比如:loadURL:’totalfieldpage.action’);如果有命名空间的话,一定要加上命名空间,如果没有的话,可以放个actioncolumns中的"sortable" 属性,:顾名思义,当不希望某一列可排序时,就把那一列的该属性设置为false数据中心项目:GT-GIRD分页使用简介:前台部分:1:引入gt-grid的样式和js(直接拷贝过去就可以了!)<link rel="stylesheet" type="text/css"href="<%=basePath %>css/data.css"><link type="text/css" rel="stylesheet"href="<%=basePath %>GT-Grid/gt_grid.css"><script type="text/javascript"src="<%=basePath %>GT-Grid/gt_msg_cn.js"></script><script type="text/javascript"src="<%=basePath %>GT-Grid/gt_grid_all.js"></script>2:将“gt-grid分页”的脚本复制到<script></script>里面脚本如下://-------------------------------------------- GT-Grid 分页----------------------------------------------------//定义字段var dsConfig= {fields :[{name : 'id' , type:'int' , index :'ID' }, //编号{name : 'buttonname', type:'string' ,index :'BUTTONNAME'}, //按钮名称{name : 'tablename', type:'string' ,index :'TABLENAME' }, //表名{name : 'xfield', type:'string' ,index :'XFIELD' }, //x轴字段{name : 'yfield' , type:'string' ,index :'YFIELD' }, //y轴字段{name : 'totalfield1', type:'string' ,index :'TOTALFIELD1' }, //统计函数1{name : 'totalfieldname1', type:'string' ,index :'TOTALNAME1' }//统计名称1] };//定义列//renderer中文的意思是:渲染器,描绘器;gt-grid里面叫做:“扩展显示列”;作用:用来显示一些数据以外的东西,// 比如:一个按钮或者是图片或者是链接, 点击后可以执行一些特殊的操作//这个方法默认是有var colsConfig = [{ id : 'allcheck' , header : "<input type='checkbox' id='allcheck' name='allcheck' onclick='select_all(this.checked);'>全/不选" ,renderer :function(value ,record,columnObj,grid,colNo,rowNo){return "<input type='checkbox' name='checkbox2'id='checkbox2' value='"+record['ID']+"'/>";},sortable : false},{ id : 'id' , header : '编号', fieldName : 'id'},{ id : 'buttonname' , header : '按钮名称' , fieldName : 'buttonname' },{ id : 'tablename' , header : '表名' , fieldName : 'tablename'},{ id : 'xfield' , header : 'x轴字段' , fieldName : 'xfield' },{ id : 'yfield' , header : 'y轴字段' ,fieldName :'yfield' },{ id : 'totalfield1' , header : '统计函数1', fieldName : 'totalfield1' },{ id : 'totalfieldname1',header : '统计名称1', fieldName : 'totalfieldname1' },{ id : 'caozuo' , header : '操作' ,renderer:function(value ,record,columnObj,grid,colNo,rowNo){return "<ahref='bpshow.action?buttonId="+record['ID']+"&buttontype=统计&buttonName="+record['BUTTONNAME']+"'><imgsrc='<%=basePath%>/images/app_48.png' alt='给按钮设置权限' width='20' height='20'></a>"+" "+"<ahref='totalfieldedit.action?tfvo.id="+record['ID']+"'><imgsrc='<%=basePath%>/images/wrench_orange.png' alt='修改统计字段设置'width='20' height='20'></a>";} }];//配置gridvar gridConfig={id : "grid1",dataset : dsConfig ,columns : colsConfig ,container : 'gtfieldmanage',pageSize : 20,pageSizeList : [10,20,30,50],toolbarPosition : 'bottom',toolbarContent : 'nav | goto | pagesize | state',loadURL : 'totalfieldpage.action',remotePaging : true ,showIndexColumn : true};var mygrid=new GT.Grid(gridConfig);GT.Utils.onLoad(GT.Grid.render(mygrid));3:将dsConfig(数据集)和colsConfig(列)里面的字段修改成自己的!dsConfig里面的index:可以说成是从数据库里获取出来的数据集里面的虚拟表或者视图等等里面的列名(字段名);也可以说成是被转化成json格式的数据集合里面map的key!(里面的参数意义,见第一页有讲)gridConfig里面的loadURL:就是你分页的action!A:如果你在xml配置文件里面配的有namespace(命名空间)那么在里你可以写成:<%=basePath> namespace/xxx.action如果不写namespace会报一个404的错误!B:如果没有配namespace,直接写xxx.action就可以了!4:在你的jsp的body里面放入一个div,作为gt-grid的一个容器,用来显示对应的数据!<div id=”容器的名称” style=””></div>注:这里面的id要和gridConfig里面的container属性的值一样!后台部分:1:提供一个用于服务gt-grid分页的action2:再对应的action里面复制如下代码//获取前台分页参数/** GTGridRequestBean类和MyJsonUtils类以及GTGridResponseBean类都是我们*自己封装好的类!里面主要是一些服务于分页以及json格式数据解析和转换的相关方法!*/GTGridRequestBeanggrb=MyJsonUtils.String2JavaBean((HttpServletRequest)ServletActionCon text.getRequest());//获取页码int pageNum=ggrb.getPageInfo().getPageNum();// 获取页容i nt pageSize=ggrb.getPageInfo().getPageSize();//后台分页数据List<?> pagelst =后台通过分页sql获取过来的数据(一般是集合形式,在这里我们使用的都是list)int countrow=数据的总条数;//数据的总条数ggrb.getPageInfo().setTotalRowNum(Integer.parseInt(countrow.toStr ing()));GTGridResponseBean ggrsb=new GTGridResponseBean();ggrsb.setPageInfo(ggrb.getPageInfo());ggrsb.setData(pagelst获取过来的分页数据);//将java格式的分页数据转换成json格式String jsonstr=MyJsonUtils.JavaBean2String(ggrsb);ServletActionContext.getResponse().setContentType("text/html;char set=UTF-8");PrintWriter pw=ServletActionContext.getResponse().getWriter();//将分页数据传到客户端pw.write(jsonstr);pw.flush();pw.close();}(注:蓝色部分替换成你后台分页的方法即可)。