颜色gridview控件自定义分页详解

gridview分页  时间:2021-02-11  阅读:()

GridView控件自定义分页详解

在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析!

1<asp:GridView ID="News Grid" runat="s erver" AutoGenerateColumns="False" AllowPaging="fals e"Wid th="100%">

2 <Columns>

3 <asp:BoundField DataField="News Id"HeaderText="新闻ID"/>

4 <asp:HyperLinkField DataNavigateUrlFields="NewsId"DataNavig ateUrlFormat String="~/Details.as px?ID={0}"

5 DataTextField="Title"HeaderText="新闻标题" ItemStyle-Width="70%"/>

6 <asp:BoundField DataField="PostTime"HeaderText="发布时间"/>

7 <asp:CommandField HeaderText=" 新 闻 管 理 " ShowCancelButton="False"Sh owDeleteButton="True"

8 ShowEditButton="True"/>

9 </Columns>

10 </as p:Grid View>

11 <div s tyle="height:16px;p adding-top:5px;margin-right:30px;flo at:right">

12 <asp:HiddenField ID="CurrentPage" runat="s erver"Value="0"/>

13 <asp:LinkButton ID="First" runat="server" CommandArgument="first"On Clic k="Pag erButto n_Clic k">首页</asp:LinkButt on>

14 <asp:LinkButton ID="Prev" runat="server" CommandArgument="prev"On Clic k="P a g e rButto n_Clic k">上一页</asp:Lin kBu tt on>

15 <asp:LinkButton ID="Next" runat="server" CommandArgument="next"On Clic k="P a g e rButto n_Clic k">下一页</asp:Lin kBu tt on>

16 <asp:LinkButton ID="Last" runat="server" CommandArgument="last"On Clic k="Pag erButto n_Clic k">尾页</asp:LinkButt on>

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.RowTyp e==DataContro lRowType.DataRow)//判定当前的行是否属于datarow类型的行

{int money=Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "MONEY"));//取当前行的列值if(money==77)e.Row.BackCo lor=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.BackCo lor=Co lor.Re d;

}

//加入鼠标滑过的高亮效果if(e.Row.RowTyp e==DataContro lRowType.DataRow)//判定当前的行是否属于datarow类型的行

{

//当鼠标放上去的时候先保存当前行的背景颜色并给附一颜色e.Ro w.Attributes.A dd("onmouseo ver","currentco lor=this.style.b ackgroundCo lor;this.s tyle.b ackgroundCo lor='y ellow',this.s tyle.fontWeight='';");

//当鼠标离开的时候将背景颜色还原的以前的颜色e.Row.Attributes.Add("onmouseout","this.style.b ackgroundCo lor=currentco lor,this.style.fontWeight='';");

}

//单击行改变行背景颜色if(e.Row.RowTyp e==DataContro lRowType.DataRow)

{

e.Row.Attributes.Add("onclick","this.style.b ackgroundCo lor='#99cc00';this.style.color='buttontext';this.style.cursor='default';");

}

如何在GridView中一次性批量更新多行数据

ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例

子

<asp:GridView ID="GridView1" runat="server"AutoGenerateColumns="Fals e"PageSize="10"

Width="542px"AllowPaging="True"AllowSorting="True"

DataKeyNames="DB31_1,DB31_2"

OnRowCanc eling Edit="Grid View 1_RowCanc elingEdit"OnRowDeleting="GridView 1_RowDeleting"OnRowEditing="GridView 1_RowEditing"OnRowUpdating="GridView 1_RowUp dating"

OnPageIndexChanging="GridView 1_PageIndexChanging"

OnRowDataBound="Grid View1_RowDataBound"

On Sele ctedIndexCh ang ed="GridView 1_Se le ctedIndexCh ange d"On So rting="Grid View 1_So rting">

<Columns>

<asp:TemplateField HeaderText="序号">

<It emT emp lat e>

<%#this.Grid View1.PageIndex*this.GridView1.PageSize+th is.Grid View 1.Ro ws.Co unt+1%>

</It emT emp lat e>

</a sp:T emp lateFie ld>

<asp:TemplateField HeaderText="学历代码"SortExpress ion="DB1_1">

<Ed itIt emT emp lat e>

<%--<asp:TextBox ID="TextBox1" runat="server"Text='<%#

Bind("DB1_1")%>'></asp:TextBox>--%>

<asp:DropDownLis t ID="ddlXL" runat="s erver" DataValueField='<%#

Bind("DB 1_1")%>'></asp:DropDownLis t>

</Ed itIt emT emp lat e>

<ItemTemp late>

<asp:Label ID="Label1" runat="server"Text='<%#

Bind("xu e liText")%>'></asp:Lab e l>

</It emT emp lat e>

</a sp:T emp lat eFie ld>

<asp:TemplateField HeaderText="学历名称"SortExpress ion="DB1_2">

<EditItemTemp late>

<asp:TextBox ID="TextBox2" runat="server"Text='<%#

Bind("DB1_2")%>'></asp:TextBox>

</Ed itIt emT emp lat e>

<It emT emp lat e>

<asp:Label ID="Label2" runat="server"Text='<%#

Bind("DB 1_2")%>'></asp:Lab el>

</It emT emp lat e>

</a sp:T emp lat e Fie ld>

<asp:TemplateField HeaderText="操作"ShowHeader="False">

<EditItemTemp late>

<asp:LinkButton ID="LinkButton 1" runat="s erver"Causes Validation="True"Co mmandName="Update"

Text="更新"></asp:LinkButton>

<asp:LinkButton ID="LinkButton2" runat="s erver"Causes Validation="Fals e"Co mman dName="Canc e l"

Text="取消"></asp:LinkButton>

</EditItemTemp late>

<It emT emp lat e>

<asp:LinkButton ID="LinkButton 1" runat="s erver"CausesValidation="Fals e"Co mman dName="Edit"

Text="编辑"OnClientClick="return confirm('确认要编辑吗 ');"></as p:LinkButton><asp:LinkButton ID="LinkButton3" runat="s erver"Causes Validation="Fals e"Co mman dName="De lete"

Text="删除"OnClientClick="return confirm('确认要删除吗 ');"></as p:LinkButton><asp:LinkButton ID="LinkButton2" runat="s erver"Causes Validation="Fals e"Co mman dName="S e le ct"

Text="选择"></asp:LinkButton>

</It emT emp lat e>

</as p:Temp lateField>

</Columns>

<AlternatingRowStyle BackColor="Aquamarine" />

</a sp:Gr idView>

///<summary>

///绑定数据到Grid View

///</summary>private void GridViewBind()

{

检索数据库string strSql="SELECT*FROM DB1";

得到数据集

this.GridView 1.DataSource=conn.GetDs(strSql).Tab les[0].DefaultView;this.GridView 1.DataBind();

}

///<summary>

///编辑当前行

///</summary>

///<p aram name="s ender"></param>

///<p aram n ame="e"></p aram>protected void GridView1_RowEditing(object sender,GridViewEditEventArgs e)

{

Grid View 1.EditIndex=e.NewEditIndex;

//当前编辑行背景色高亮this.GridView 1.EditRowStyle.BackCo lor=Co lor.Fro mName("#F7CE90");

Grid ViewBind();

}

///<summary>

///取消编辑状态

///</summary>

///<p aram name="s ender"></param>

///<p aram n ame="e"></p aram>protected void GridView1_RowCancelingEdit(object s ender,GridView CancelEditEventArgs e){

GridView 1.EditIndex=-1;

Grid ViewBind();

}

///<summary>

///删除记录过程

///</summary>

///<p aram name="s ender"></param>

///<p aram n ame="e"></p aram>protected void GridView1_RowDeleting(object sender,GridViewDe leteEventArgs e){

//得到单位编号s tring rowToDelete=GridView1.DataKeys[e.RowIndex].Va lues[0].To String();

//转换为整数

//int ID=Convert.ToInt32(rowToDelete);

//从数据库中删除string str="DELETE FROM DB1 where DB1_1="+"'"+rowToDelete+"'"+"";try

{conn.RunSql(str);

//重新绑定数据

Grid ViewBind();

}catch(Exception ex)

{

Response.Write("数据库错误错误原因 "+ex.Message);

Response.End();

}

}

///<summary>

///更新记录过程

///</summary>

///<p aram name="s ender"></param>

///<p aram n ame="e"></p aram>protected void GridView1_RowUpdating(object sender,GridViewUpdateEventArgs e){string ID=Grid View1.DataKeys[e.RowIndex].Values[0].To String();string DB 1_1=((Te xtBox)GridView1.Rows[e.RowIndex].FindControl("TextBox1")).Text;//string DB1_2=((Te xtBox)GridView1.Rows[e.RowIndex].F indControl("TextBox2")).Text;string DB1_2=

(((Drop DownList))GridView 1.Rows[e.RowIndex].F indContro l("ddlXL")).Sele ctedItem.Text;//判断表单项是否有空并给出提示信息if(DB 1_1=="" | |DB 1_2=="")

{conn.Alert("请输入完整信息 ",Page);return;

}try

{conn.BuilderEdit("select*from DB 1 where DB 1_1='"+ID+"'");conn.dr["DB 1_1"]=DB 1_1;conn.dr["DB 1_2"]=DB 1_2;c o nn.Bu ild e rEd it Clo s e();

}catch(OracleException err)

{if(err.Code.To String()=="1")conn.Alert("错误 已存在具有相同主键的记录",Page);elseconn.Alert("错误未能添加记录",Page);

}

Response.Write("<script language='javascript'>alert('数据已被保存! ');</script>");

//返回浏览状态

GridView 1.EditIndex=-1;

Grid ViewBind();

}

///<summary>

///分页事件

///</summary>

///<p aram name="s ender"></param>

///<p aram n ame="e"></p aram>protected void GridView1_PageIndexChanging(object sender,GridViewPageEventArgs e)

{

Grid View 1.PageIndex=e.NewPageIndex;

Grid ViewBind();

}

///<summary>

///加入鼠标效果及为DropDownLis t绑定值

///</summary>

///<p aram name="s ender"></param>

///<p aram name="e"></p aram>protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)

{

//为Drop DownLis t绑定值if(((Drop DownLis t)e.Row.FindContro l("ddlXL")) !=null)

{

DropDownList ddlXL=(DropDownList)e.Row.FindControl("ddlXL");d d lXL.It e ms.Cle ar();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("onmous eover",

"currentco lo r=th is.sty le.b ackgroundCo lo r;this.s ty le.b ackgroundCo lo r='y e llo w',th is.s tyle.fontWe ight='';");

//当鼠标离开的时候将背景颜色还原的以前的颜色e.Row.Attributes.Add("onmous eout",

"this.style.b ackgroundCo lor=currentco lor,this.s tyle.fontWeight='';");

}

//单击行改变行背景颜色

if(e.Row.RowType==DataControlRowType.DataRow)

{e.Ro w.Attributes.Add("o nc lick", "th is.sty le.b ackgroundCo lo r='#99c c 00';this.style.color='buttontext';this.style.cursor='default';");

}

}

ASP.NET2.0下含有CheckBo x的GridView删除选定记录实例<asp:GridView ID="GridView1" runat="server"AutoGenerateColumns="Fals e"PageSize="5"

2 Width="726px"AllowPaging="True"AllowSorting="True"

3 DataKeyNames="DB1_1,DB1_2" OnRowDeleting="GridView1_RowDeleting" OnPageIndexChanging="Grid View1_PageIndexChanging"OnRowDataBound="Grid View1_RowDataBound"On Sorting="Grid View 1_Sorting"Height="279p x">

4 <Co lu mn s>

5 <asp:TemplateField HeaderText="序号">

6 <It emT emp lat e>

7 <%#this.GridView 1.Pag eIndex*this.GridView 1.Pag e Size+th is.Grid View 1.Ro ws.Co unt+1%>

8 </It emT emp lat e>

9 </a sp:T emp lateFie ld>

10 <asp:TemplateField HeaderText="选择">

11 <It emT emp lat e>

12 <asp:CheckBox ID="chkSelect" runat="s erver"></asp:CheckBox>

13 </It emT emp lat e>

14 </a sp:Temp lateFie ld>

15 <as p:TemplateField HeaderText="操作"ShowHeader="False">

16 <It emT emp lat e>

17 <asp:LinkButton ID="lbtnDelete" runat="s erver"CausesValidation="Fals e"Co mman dName="De lete"

18 Text="删除"OnClientClick="return confirm('确认要删除吗

');"></asp:LinkButton>

19 </It emT emp lat e>

20 </a s p:Te mp lat e F ie ld>

21 </Columns>

22 <AlternatingRowStyle BackColor="Aquamarine" />

23 </a sp:Grid View>

1 <as p:CheckBox ID="chkSelectAll" runat="server"Text="全部选中"

OnCheckedChanged="chkSelectAll_CheckedChanged"AutoPos tBack="True"></asp:CheckBox>2 <as p:Button ID="btnDelete" runat="server"Text="删除"OnClick="btnDelete_Click" />1 protected void btnDelete_Click(object sender,EventArgs e)

2 {

3 stringstrDelete="";

4 for(int i=0; i<this.GridView1.Rows.Count; i++)

5 {

6 stringLabel;

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 fromDB1 where"+strDelete

15 this.chkSelectAll.Checked=false;

16 GridViewBind();

17 }

18

19 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 ((Ch e ckBo x)Grid View 1.Ro ws[i].Fin d Co ntro l("chkS e lect")).Ch e cked=this.chkSelectAll.Checked;

25 }

26 }

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

数脉科技:香港服务器低至350元/月;阿里云CN2+BGP线路,带宽10M30M50M100M

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。数脉香港特价阿里云10MbpsCN2,e3-1230v2,16G内存,1T HDD 或 240G SSD,10Mbps带宽,IPv41个,...

快云科技:香港沙田CN2云服务器低至29元/月起;美国高防弹性云/洛杉矶CUVIP低至33.6元/月起

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...

gridview分页为你推荐
淘宝店推广给淘宝店铺推广有什么好处?9flash怎么使用ePSXe啊?qq怎么发邮件如何通过QQ发送邮件qq空间打扮QQ空间打扮宕机宕机是什么意思?二层交换机什么是三层交换机?什么是二层叫交换机?有什么区别?cisco防火墙思科防火墙策略extended什么意思cisco防火墙juniper防火墙和cisco防火墙有什么区别网页打不开的原因网页老打不开是什么原因啊手工杀毒如何人工手动杀毒
北京域名空间 最新代理服务器地址 lamp安装 阿里云邮箱登陆首页 大硬盘 圣迭戈 NetSpeeder 网通服务器ip 京东商城双十一活动 777te 元旦促销 cdn加速原理 卡巴斯基免费试用 hdd 免费网页空间 彩虹云 shuang12 测试网速命令 江苏徐州移动 免费主页空间 更多