Gridview 重要的事件 和 重要的属性
来源:互联网 发布:java代码混淆工具下载 编辑:程序博客网 时间:2024/06/01 09:07
OnRowEditing 点编辑产生的事件
OnRowDeleting 点删除产生的事件
OnRowUpdating 点更新产生的事件
OnRowCancelingEdit 点取消产生的事件
OnSelectedIndexChanging 点选择后产生的事件.
OnPageIndexChanging 点击翻页后产生的事件.
前面的三个事件都与主键有关.于是在绑定数据源时, 要注意把标明主键是哪个字段 使用的语句是:GridView1.DataKeyNames=new string[] {"主键名"};
有时把GridView1.DataKeyNames=new string[] {"主键名"}; 放在onrowediting事件函数中,发现在更新也能正常使用。原因,在更新之前使用了onrowediting,所以对于update来说它也是有主键的。不过对于delete来说,可就没有这么好了。
如果在没有发生onrowediting事件前点了删除,根本就完成不了删除任务,因为它找不到主键.
对于onrowediting事件来说,只要用一句GridView1.EditIndex=e.NewEditIndex即可以产生编辑模式。
对于onrowupdating事件来说,可以使用GridView1.Rows[e.RowIndex].Cells[].controls[]来取得返回的修改值。
修改完成后,使用GridView1.EditIndex=-1;就可以取消编辑状态.
关于onselectindexchanging事件是在按"选择"后产生的。它与onrowediting事件有些相似.editing中用e.neweditindex来表示当前选中的行。
而selectindexchanging则是使用e.newselectedindex来表示.
对于OnPageIndexChanging有例子如下:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
bind();
}
一个增删改查的实例:
后台
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;namespace Test{ public partial class _Default : System.Web.UI.Page { SqlConnection sqlcon; SqlCommand sqlcom; string strCon = "Data Source=FZ-PC;Initial Catalog=Test;User ID=sa;Password=sa"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); } } //绑定 public void bind() { string sqlstr = "select * from 表"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet Dataset = new DataSet(); sqlcon.Open(); myda.Fill(Dataset, "表"); GridView1.DataSource = Dataset; GridView1.DataKeyNames = new string[] { "id" };//标明主键字段 GridView1.DataBind(); sqlcon.Close(); } //删除 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { string sqlstr = "delete from 表 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; sqlcon = new SqlConnection(strCon); sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); bind(); } //编辑 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex;//浏览模式-->编辑模式 bind(); } //更新 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { sqlcon = new SqlConnection(strCon); string sqlstr = "update 表 set 身份证号码='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',姓名='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',员工性别='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',家庭住址='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "' where id='"+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); GridView1.EditIndex = -1;//编辑模式-->浏览模式 bind(); } //取消 protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1;//编辑模式-->浏览模式 bind(); } //添加 protected void Button1_Click(object sender, EventArgs e) { string sqlstr = @"INSERT INTO [Test].[dbo].[表] ([身份证号码],[姓名],[员工性别],[家庭住址]) VALUES (@id,@xm,@xb,@ad)"; SqlParameter[] spas = { new SqlParameter("@id",this.TextBox1.Text), new SqlParameter("@xm",this.TextBox2.Text), new SqlParameter("@xb",this.TextBox3.Text), new SqlParameter("@ad",this.TextBox4.Text ), }; sqlcon = new SqlConnection(strCon); sqlcom = new SqlCommand(sqlstr, sqlcon); sqlcom.Parameters.AddRange(spas); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); bind(); } }}
前台
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <asp:GridView ID="GridView1" runat="server" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit"> <Columns> <asp:BoundField DataField="id" HeaderText="用户ID" ReadOnly="True" /> <asp:BoundField DataField="身份证号码" HeaderText="身份证号码" /> <asp:BoundField DataField="姓名" HeaderText="姓名" /> <asp:BoundField DataField="员工性别" HeaderText="员工性别" /> <asp:BoundField DataField="家庭住址" HeaderText="家庭住址" /> <asp:CommandField HeaderText="选择" ShowSelectButton="True" /> <asp:CommandField HeaderText="编辑" ShowEditButton="True" /> <asp:CommandField HeaderText="删除" ShowDeleteButton="True" /> </Columns> <RowStyle ForeColor="#000066" /> <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="red" /> <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" /> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> </asp:GridView> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <br /> <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> <br /> <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /></asp:Content>
- Gridview 重要的事件 和 重要的属性
- ListView和GridView的几个重要属性
- MSHFLEXGRID的重要属性.
- 一些重要的属性
- RelativeLayout 重要的属性
- 重要的属性二
- 重要的属性一
- Layout的重要属性
- listView的重要属性
- ListView的重要属性
- Listview的重要属性
- RelativeLayout的重要属性
- ImageView的重要属性
- UIView的重要的方法和属性
- COM+的几个重要属性
- UIScrollView的几个重要属性
- AbsListView几个重要的属性
- C#窗体的重要属性
- How to get the Values of Selected Row from a Gridview using ASP.NET
- books-add
- java subString用法
- 关于数据存储的五个事实
- tomcat启动失败:Failed creating java jvm.dll
- Gridview 重要的事件 和 重要的属性
- diff与patch的使用
- 计算几何 _ 2010 East Central Regional Contest _ problem D
- 老子的软件之道 - 道篇 11 无之大用
- python的urllib模块,学习的部分有用方法
- gcc、gdb、makefile 学习和用法
- Flex4中动态解析XML数据并转换为ArrayCollection
- 错误——无法找到引用的项目输出组的输出
- 警惕:暮光之城破晓2免费电影票骗局