VS中Gridview所有应用
GridView使用大全攻略

1.GridView代码分页排序:效果图:1.AllowSorting设为True,aspx代码中是AllowSorting="True";2.默认1页10条,如果要修改每页条数,修改PageSize即可,在aspx代码中是PageSize="12"。
3.默认的是单向排序的,右击GridView弹出“属性”,选择AllowSorting为True即可。
1:分页保存选中状态保存CheckBox的值GridView在分页过程中并不维护CheckBox的选择状态,幸运的是,我们可以使用Session来维护CheckBox的状态,这个功能使用RememberOldValues完成private void RememberOldValues(){ArrayList categoryIDList = new ArrayList();int index = -1;foreach (GridViewRow row in okZMGV.Rows){index =Convert .ToInt32( okZMGV.DataKeys[row.RowIndex].Value);bool result = ((CheckBox)row.FindControl("IsCheckBox")).Checked;// Check in the Sessionif (Session["state"] != null)categoryIDList = (ArrayList)Session["state"];if (result){if (!categoryIDList.Contains(index))categoryIDList.Add(index);}elsecategoryIDList.Remove(index);}if (categoryIDList != null && categoryIDList.Count > 0)Session["state"] = categoryIDList;}还原CheckBox的状态下一步,需要定义一个方法来还原Checkbox的状态值private void RePopulateValues(){ArrayList categoryIDList = (ArrayList)Session["state"];if (categoryIDList != null && categoryIDList.Count > 0){foreach (GridViewRow row in okZMGV .Rows){int index = (int)okZMGV.DataKeys[row.RowIndex].Value;if (categoryIDList.Contains(index)){CheckBox myCheckBox = (CheckBox)row.FindControl("IsCheckBox"); myCheckBox.Checked = true;}}}}最后,在分页事件里调用上面两个方法protected void page_Click(object sender, ImageClickEventArgs e){RememberOldValues();string count = ((ImageButton)sender).CommandArgument.ToString().ToLower ();switch(count){case"prev":if (okZMGV.PageIndex > 0){okZMGV.PageIndex -= 1;}break;case"next":if (okZMGV.PageIndex < okZMGV.PageCount - 1){okZMGV.PageIndex += 1;}break;case "0":okZMGV.PageIndex=0;break;case "last":okZMGV.PageIndex= okZMGV.pagecount-1;break;}BrndOKBind();RePopulateValues();}2.GridView选中,编辑,取消,删除:效果图:后台代码:你可以使用sqlhelper,本文没用。
GridView

CommandField:命令列,常用的“选择”,“删除”,“编辑、更新、取消”
ButtonField:按钮列,其它做用的按钮
TemplateField:模板列,可以更灵活地自定义显示格式
2 在 Aapx页面中主要做几项工作:
(1) 列类型的选择
(2) 列样式选择(也可再RowDataBound事件中设置)
(3) 列格式化显示
(4) 列参数设置
(5) 隐藏列的设置(也可再RowDataBound事件中设置)
<%# Eval("PublishDate", "{0:dd/MM/yyyy}") %>
或者用Bind 方法支持读/写功能
六:BoundField字段:属性:DataFormatString,可设置显示字段的格式 {0:C}格式为货币类型
注意,当HtmlCode属性设置为false DataFormatString才有效
int index = Convert.ToInt32(mandArgument); //获得该按钮在gridview中的位置,即第几行
GridViewRow row = GridView1.Rows[index]; //通过索引返回该行
或者
int index = Convert.ToInt32(mandArgument);
// Retrieve the row that contains the button clicked
// by the user from the Rows collection.
GridViewRow row = CustomersGridView.Rows[index];
关于VS2005中GridView的自定义分页,单选、多选、排序、自增列的简单应用

关于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。
VS控件说明

VS控件说明GridView 控件GridView 控件以表的形式显⽰数据,并提供对列进⾏排序、分页、翻阅数据以及编辑或删除单个记录的功能。
特征:⼀⾏⼀条记录,就像新闻列表⼀样;带分页功能。
DataGrid 控件(建议⽤ GridView 控件代替)没有出现 GridView 之前,就⽤ DataGrid。
除了添加利⽤数据源控件功能的新功能,GridView 控件还实现了某些改进,例如,定义多个主键字段的功能、使⽤绑定字段和模板的改进⽤户界⾯⾃定义以及⽤于处理或取消事件的新模型。
DataList 控件DataList 控件以表的形式呈现数据,通过该控件,您可以使⽤不同的布局来显⽰数据记录,例如,将数据记录排成列或⾏的形式。
您可以对DataList 控件进⾏配置,使⽤户能够编辑或删除表中的记录。
(DataList 控件不使⽤数据源控件的数据修改功能;您必须⾃⼰提供此代码。
)DataList 控件与 Repeater 控件的不同之处在于:DataList 控件将项显式放在 HTML 表中,⽽ Repeater 控件则不然。
特征:⼀⾏可以有多条记录,就像图⽚列表⼀样;分页功能需要⼿写。
Repeater 控件Repeater 控件使⽤数据源返回的⼀组记录呈现只读列表。
与 FormView 控件类似,Repeater 控件不指定内置布局。
您可以使⽤模板创建Repeater 控件的布局。
特征:⾃由定制;分页功能需要⼿写。
ListView 控件这个控件既可实现像 GridView ⼀样的效果,也可实现像 DataList ⼀样的效果(怪不得名字叫 ListView),这东西应⽤起来也要复杂些。
要点是:LayoutTemplate 下⾯必须有⼀个服务器端控件,即 runat="server",其 ID 必须为 itemPlaceholder(除⾮更改 ListView 的ItemPlaceholderID),注意⼤⼩写,ItemTemplate 模板中的内容输出时就是插⼊到 itemPlaceholder 的。
vsflegrid常用功能介绍

v s F l e x G r i d常用功能介绍内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)vsFlexGrid是ComponentOne公司的一个ActiveX控件,它与MS的MSHFlexGrid 控件在功能上是兼容的,即MSHFlexGrid所具备的属性和方法,它也都具备,只有少数几个属性名称略有不同,使用MSHFlexGrid编写的程序,只需要作较小的调整就可以转换过来;但相比MSHFlexGrid,vsFlexGrid多了很多功能,它的属性和事件非常丰富,可以实现非常灵活的控制和快捷的编码,下面主要对一些常用和实用的功能进行介绍:一、数据批量操作l 利用Cell属性批量存取数据比如要清除一块区域的文本,或者设置一块区域的字体,不用循环处理,只需要一条语句就可以完成,如:(flexcpText,1,1,5,5) = “” ‘设置(1,1)-(5,5)这块单元格区域的文本都为空(flexcpFontBold,1,1,5,5)=True ‘设置(1,1)-(5,5)这块单元格区域的字体都为粗体类似还可以设置的有单元格对齐、图片、颜色等。
而语句:strText = (flexcpText,1,1,5,5)返回一个用vbTab间隔列,vbCr间隔行的字符串,当然也可以反过来赋值,这样该区域内的每个单元格都可以赋不同的值。
l 使用-1对所有行列进行处理RowHeight(-1)=300 ‘将所有行的高度设置为300Twip,可以类似使用的属性有:RowHidden,ColWidth,ColHidden,ColAlignment等二、大量数据存放vsFlexGrid可以存放数据的地方有:CellText,CellData,ColData,RowData除了CellText是String类型外,其他都是Variant类型,也就是说你可以将任意类型的数据存放在表格中,比如日期(Date),类型变量(Type),集合(Collection),数组,记录集(RecordSet),以及各种对象(Object),这对于关联数据比较多的程序非常有用。
Gridview用法(个人总结)202X803

Gridview用法(个人总结)202X803Gridview用法(个人总结)202*0803Gridview的一些操作:1、添加删除列:直接使用Gridview的删除事件:1)选择Gridview的右上角任务栏,打开之后选择编辑列,然后选择CommandFiled,打开CommandFiled选择删除,然后选择添加,设置HeadText为删除。
2)打开Gridview控件的属性对话框,在事件中双击RowDeleting,然后添加删除事件代码:protectedvoidGridView1_RowDeleting(objectsender,GridViewDelete EventArgse){StringBuildersb=newStringBuilder();sb.AppendFormat(@"DELETEFRO MSUPPLIERSWHEREID="+Convert.ToInt32(GridView1.DataKeys[e.RowIndex] .Value));SQLHelperhelper=newSQLHelper();helper.ExecuteSql(sb.ToStr ing());Bindon();}不使用Gridview的删除事件:使用添加LinkButton的方法实现删除选定行1)选择Gridview的右上角任务栏,打开之后选择编辑列,然后选择TemplateField,设置HeadText为删除,然后在脚本中添加下面代码:2)打开Gridview控件的属性对话框,在事件中双击RowDataBound,添加如下代码://获取删除行的IDif(e.Row.RowType==DataControlRowType.DataRow){stringid=GridVie w1.DataKeys[e.Row.RowIndex].Value.ToString();//得到idLinkButtonibtnDel=(LinkButton)e.Row.FindControl("delet");//实例化LinButton按钮控件mandArgument=id;//指定删除按钮的关联参数ibtnDel.Attributes.Add("onclick","returnconfirm("确定要删除吗?");");}3)打开Gridview控件的属性对话框,在事件中双击RowCommand,添加如下代码:if(mandName=="del"){stringid=mandArgument.ToString();//获得IDStringBuildersb=newStringBuilder();sb.AppendFormat(@"DELETEFROMSUPPLIERSWHEREID="+id);SQLHelperhe lper=newSQLHelper();helper.ExecuteSql(sb.ToString());Bindon();}即可。
VS中Gridview所有应用

Gridview用法大总结
由于篇幅限制,代码就不贴啦,要下载源码的请下载blogs.co m/huangjianhuakarl/Gridview.rar;希望朋友们能给出一些好的建议,本人将尽力不断完善本文!
1:在Gridview中无须编写后台代码,直接实现增除删改
2:在Gridview中添加新记录
3:在Gridview中实现编辑和更新操作
4:在Gridview中实现一次性更新所有记录
5:在Gridview中固定表头的实现
6:在Gridview中合并单元格的实现
7:在Gridview中将数据操作结果显示在Footer中8:在Gridview中添加表头
9:在Gridview中将数据导出
10:在Gridview中实现数据导入
11:在Gridview中实现嵌套功能
12:在Gridview中实现多层嵌套
13:在Gridview中实现排序
14:在Gridview中实现分页
15:Gridivew结合CheckBox控件的使用
16:Gridview结合DropDownList控件的使用
17:Gridview结合RadioButtom的使用
18:Gridview内嵌DropDownList控件
19:Gridview结合JS,在客户端结合CheckBox的使用
20:在Gridview中设置数据行的背景颜色
21:在Gridview中设置数据行的事件
22:在Gridview中设置数据行的其他属性
23:在Gridview中索引主键的使用。
Gridview 控件属性及应用

GridView控件属性及应用GridView是 1.x的DataGrid控件的后继者。
它提供了相同的基本功能集,同时增加了大量扩展和改进。
如前所述,DataGrid( 2.0仍然完全支持)是一个功能非常强大的通用控件。
然而,它有一个重大缺陷:它要求我们编写大量定制代码,甚至处理比较简单而常见的操作,诸如分页、排序、编辑或删除数据等也不例外。
GridView控件旨在解决此限制,并以尽可能少的数据实现双向数据绑定。
该控件与新的数据源控件系列紧密结合,而且只要底层的数据源对象支持,它还可以直接处理数据源更新。
这种实质上无代码的双向数据绑定是新的GridView控件最著名的特征,但是该控件还增强了很多其他功能。
该控件之所以比DataGrid控件有所改进,是因为它能够定义多个主键字段、新的列类型以及样式和模板选项。
GridView还有一个扩展的事件模型,允许我们处理或撤销事件。
GridView控件为数据源的内容提供了一个表格式的类网格视图。
每一列表示一个数据源字段,而每一行表示一个记录。
1. GridView控件的属性GridView支持大量属性,这些属性属于如下几大类:行为、可视化设置、样式、状态和模板。
行为属性描述AllowPaging 指示该控件是否支持分页。
AllowSorting 指示该控件是否支持排序。
AutoGenerateColumns 指示是否自动地为数据源中的每个字段创建列。
默认为true。
AutoGenerateDeleteButton 指示该控件是否包含一个按钮列以允许用户删除映射到被单击行的记录。
AutoGenerateEditButton 指示该控件是否包含一个按钮列以允许用户编辑映射到被单击行的记录。
AutoGenerateSelectButton 指示该控件是否包含一个按钮列以允许用户选择映射到被单击行的记录。
DataMember 指示一个多成员数据源中的特定表绑定到该网格。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Gridview用法大总结
由于篇幅限制,代码就不贴啦,要下载源码的请下载blogs.co m/huangjianhuakarl/Gridview.rar;希望朋友们能给出一些好的建议,本人将尽力不断完善本文!
1:在Gridview中无须编写后台代码,直接实现增除删改
2:在Gridview中添加新记录
3:在Gridview中实现编辑和更新操作
4:在Gridview中实现一次性更新所有记录
5:在Gridview中固定表头的实现
6:在Gridview中合并单元格的实现
7:在Gridview中将数据操作结果显示在Footer中8:在Gridview中添加表头
9:在Gridview中将数据导出
10:在Gridview中实现数据导入
11:在Gridview中实现嵌套功能
12:在Gridview中实现多层嵌套
13:在Gridview中实现排序
14:在Gridview中实现分页
15:Gridivew结合CheckBox控件的使用
16:Gridview结合DropDownList控件的使用
17:Gridview结合RadioButtom的使用
18:Gridview内嵌DropDownList控件
19:Gridview结合JS,在客户端结合CheckBox的使用
20:在Gridview中设置数据行的背景颜色
21:在Gridview中设置数据行的事件
22:在Gridview中设置数据行的其他属性
23:在Gridview中索引主键的使用。