GridView 编辑、删除 、分页
类似代码都差不多,记录一下,便于以后查看使用。
前台页面:
<asp:GridView ID="gdvList" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-bordered table-hover"
AllowPaging="true" PageSize="10" OnRowDeleting="gdvList_RowDeleting" OnRowCancelingEdit="gdvList_RowCancelingEdit"
OnRowEditing="gdvList_RowEditing" OnRowUpdating="gdvList_RowUpdating" OnRowDataBound="gdvList_RowDataBound"
DataKeyNames="ID" onpageindexchanging="gdvList_PageIndexChanging"
onrowcommand="gdvList_RowCommand">
<Columns>
<asp:BoundField HeaderText="ID" DataField="ID">
<FooterStyle CssClass="hidden" />
<HeaderStyle CssClass="hidden" />
<ItemStyle CssClass="hidden" />
</asp:BoundField>
<asp:TemplateField HeaderText="部门" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:Label ID="lblDeptName" runat="server" Text='<%#Eval("deptname")%>' Width="90%"></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDeptName1" runat="server" Text='<%#Eval("deptname")%>' Width="90%"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="工号" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:Label ID="lblUserNo" runat="server" Text='<%#Eval("userNo")%>' Width="90%"></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblUserNo1" runat="server" Text='<%#Eval("userNo")%>' Width="90%"></asp:Label>
</ItemTemplate>
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="邮箱号" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:Label ID="lblEmail" runat="server" Text='<%#Eval("email")%>' Width="90%"></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblEmail1" runat="server" Text='<%#Eval("email")%>' Width="90%"></asp:Label>
</ItemTemplate>
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="姓名" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:Label ID="lblUserName" runat="server" Text='<%#Eval("userName")%>' Width="90%"></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblUserName1" runat="server" Text='<%#Eval("userName")%>' Width="90%"></asp:Label>
</ItemTemplate>
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="指标" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:TextBox ID="txtTarget" runat="server" Text='<%#Eval("target")%>' Width="90%" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblTarget" runat="server" Text='<%#Eval("target")%>' Width="90%" />
</ItemTemplate>
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="管理" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="btnEdit" runat="server" Text="编辑" CommandName="Edit"></asp:LinkButton>
<asp:ImageButton ID="lbtnDel" runat="server" OnClientClick="return window.confirm('确认删除?');"
ImageUrl="../Images/action_delete.png" CommandName="Delete" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="btnUpdate" runat="server" Text="保存" CommandName="Update" CommandArgument='<%#Eval("ID") %>'></asp:LinkButton>
<asp:LinkButton ID="btnCancle" runat="server" Text="取消" CommandName="Cancel"></asp:LinkButton>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle Width="100px" />
</asp:TemplateField>
</Columns>
<PagerTemplate>
<br />
<asp:Label ID="lblPage" runat="server" Text='<%# "第" + (((GridView)Container.NamingContainer).PageIndex + 1) + "页/共" + (((GridView)Container.NamingContainer).PageCount) + "页" %> '></asp:Label>
<asp:LinkButton ID="lbnFirst" runat="Server" Text="首页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="First"></asp:LinkButton>
<asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="Prev"></asp:LinkButton>
<asp:LinkButton ID="lbnNext" runat="Server" Text="下一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Next"></asp:LinkButton>
<asp:LinkButton ID="lbnLast" runat="Server" Text="尾页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Last"></asp:LinkButton>
到第<asp:TextBox runat="server" ID="inPageNum"></asp:TextBox>页
<asp:LinkButton ID="LinkButton1" CommandName="go" runat="server">Go</asp:LinkButton>
<br />
</PagerTemplate>
</asp:GridView>
后台代码:
protected void gdvList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gdvList.PageIndex = -1;
GridBind();
}
protected void gdvList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
try
{
string id = this.gdvList.Rows[e.RowIndex].Cells[0].Text;
int n = userAccess.DeleteUserTarget(id);
GridBind();
}
catch
{
}
}
protected void gdvList_RowEditing(object sender, GridViewEditEventArgs e)
{
gdvList.EditIndex = e.NewEditIndex; //GridView编辑项索引等于单击行的索引
GridBind();
}
protected void gdvList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
string id = (gdvList.Rows[e.RowIndex].FindControl("btnUpdate") as LinkButton).CommandArgument;
string target = ((TextBox)gdvList.Rows[e.RowIndex].FindControl("txtTarget")).Text;
int n = 0;
if (dataAccess.IsDecimal(target)) //更新
n = userAccess.UpdateUserTarget(id, decimal.Parse(target));
if (n > 0)
{
gdvList.EditIndex = -1;
GridBind();
}
}
catch (Exception ex)
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + ex.Message + "')</script>");
}
}
protected void gdvList_RowDataBound(object sender, GridViewRowEventArgs e)
{
}
private void GridBind()
{
DataTable dt = new DataTable();
dt = userAccess.GetUserTarget("");
gdvList.DataSource = dt;
gdvList.DataBind();
}
涉及分页的代码:
protected void gdvList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
gdvList.PageIndex = e.NewPageIndex;
GridBind();
TextBox tb = (TextBox)gdvList.BottomPagerRow.FindControl("inPageNum");
tb.Text = (gdvList.PageIndex + 1).ToString();
}
catch { }
}
protected void gdvList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "go")
{
try
{
TextBox tb = (TextBox)gdvList.BottomPagerRow.FindControl("inPageNum");
int num = int.Parse(tb.Text);
GridViewPageEventArgs ea = new GridViewPageEventArgs(num - 1);
gdvList_PageIndexChanging(null, ea);
}
catch (Exception ex)
{
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
}
}
如果编辑中,需要显示dropdownlist,则需要在gdvPlan_RowDataBound中编写
如:显示部门列表
<asp:TemplateField HeaderText="部门" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:DropDownList ID="ddlDept" runat="server">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDeptName" runat="server" Text='<%#Eval("deptName")%>' Width="90%"></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
protected void gdvPlan_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
//保存当前行的deptname的值
string deptname = this.gdvPlan.DataKeys[e.Row.RowIndex]["deptname"].ToString();
//对DropDownList做数据绑定
DropDownList dropTemp = (DropDownList)e.Row.Cells[4].FindControl("ddlDept");
dropTemp.ClearSelection();
if (dropTemp != null)
{
DataTable dt = dataAccess.GetDeptList();
dropTemp.DataSource = dt;
dropTemp.DataTextField = "deptname";
dropTemp.DataValueField = "deptID";
dropTemp.DataBind();
//到DropDownList中根据au_id的值去找需要设置为选中状态的项目,将其设置为选中
ListItem item = dropTemp.Items.FindByText(deptname);
if (item != null)
{
item.Selected = true;
}
}
}
}
}
GridView 编辑、删除 、分页的更多相关文章
- GridView编辑删除操作
第一种:使用DataSource数据源中自带的编辑删除方法,这样的不经常使用,在这里就不加说明了. 另外一种:使用GridView的三种事件:GridView1_RowEditing(编辑).Grid ...
- GridView编辑删除
A前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.asp ...
- GridView总结二:GridView自带编辑删除更新
GridView自带编辑删除更新逻辑很简单:操作完,重新绑定.总结总结,防止忘记... 效果图: 前台代码: <%@ Page Language="C#" AutoEvent ...
- php+redis实现注册、删除、编辑、分页、登录、关注等功能
本文实例讲述了php+redis实现注册.删除.编辑.分页.登录.关注等功能.分享给大家供大家参考,具体如下: 主要界面 连接redis redis.php <?php //实例化 $red ...
- gridview 级联删除、dataset
gridview编辑列(不使用控件绑定数据源)需要如下代码:<asp:GridView ID="GridView1" runat="server" Aut ...
- Repeater控件使用(含删除,分页功能)
Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...
- editplus批量删除重复行(编辑-删除-删除重复行)
editplus快速删除重复数据 多行文本,有些行的文字或数据是重复的,该怎么删除重复部分,只留下不重复的部分?很多人对这个问题感到无比头疼,Editplus同样能快速帮你删除数据. 那么,editp ...
- 使用GridView自带分页的代码
关于GridView分页页码的讨论 在GridView中实现分页的效果方法非常easy,仅仅须要在"GridView任务"对话框中进行设置就能够了.在"GridView任 ...
- GridView 控制默认分页页码间距 及字体大小
GridView 控制默认分页页码间距 及字体大小 PagerCss TD A:hover { WIDTH: 20px; COLOR: black; padding-left: 4px; paddin ...
随机推荐
- C#开发移动平台iOS、Android 与Windows
1.Xamarin http://www.csdn.net/article/2014-02-28/2818585-Xamarin-CSDN-mobile-develop
- 点分治练习:不虚就是要AK
[题面] 不虚就是要AK(czyak.c/.cpp/.pas) 2s 128M czy很火.因为又有人说他虚了.为了证明他不虚,他决定要在这次比赛AK. 现在他正在和别人玩一个游戏:在一棵树上随机取两 ...
- Binggo公开课 “CODEX创新体系”的实战演练-中关村创业大街
Binggo公开课 "CODEX创新体系"的实战演练-中关村创业大街 Binggo公开课 "CODEX创新体系"的实战演练
- poj 3608 Bridge Across Islands
题目:计算两个不相交凸多边形间的最小距离. 分析:计算几何.凸包.旋转卡壳.分别求出凸包,利用旋转卡壳求出对踵点对,枚举距离即可. 注意:1.利用向量法判断旋转,而不是计算角度:避免精度问题和TLE. ...
- []cp,转载]提示MyEclipse Trial Expired,如何手动获取MyEclipse 注册码!很牛!
1.建立JAVA Project,随便命名,只要符合规则就行. 2.在刚刚建好的Project右击src,新建一个类,命名为MyEclipseGen,把.java里本来有的代码全部删掉,再把下面的代码 ...
- 用slf4j统一管理日志总结
用slf4j统一管理日志总结 参考网页:http://www.slf4j.org/ 一.使用slf4j统一管理并配置统一使用log4j日志 使用的jar:(slf4j-api-1.7.5.jar,jc ...
- sql中时间的一些特殊转换
1.修改时间的秒和微秒 create table a (Dtime datetime);insert into aselect '2013-08-30 17:59:35' union allselec ...
- SQL用replace替换文本部分内容
替换文本内容 update tk_question set stem=replace(cast(stem as varchar(max)) ,'被替换文本','替换文本') 查询字段内容长度 sele ...
- BZOJ 3265 志愿者招募增强版 单
标题效果:同1061 只是间隔为每种类型的志愿工作是多级 这是卡网络流量?未知 所有在所有的1061您将可以更改为在稍微改变- - #include <cmath> #include &l ...
- IOPS QPS TPS
杨奇龙: http://blog.itpub.net/22664653/viewspace-767265/ http://blog.itpub.net/22664653/viewspace-76726 ...