gridView的一些使用总结

 

       GridView用于在网格中显示表格数据

       DataSourceID属性:获取或设置对象,数据绑定控件从该对象中检索其数据项列表(不用)      

       1.数据绑定

GridView用于数据绑定时可将结果存入其DataSource属性中,然后执行其方法DataBind()进行数据绑定。

     Sample1

string sqlText = "select * from dbbase_table";

gvInfo.DataSource = dbBase.ExecuteSQLGetDataTable(sqlText);//用DBBase中类获取数据源

gvInfo.DataBind();//绑定

       Sample2

//连接数据库字符串

string strCon = "server = HSY-B1CB094F4C4""SQLEXPRESS; user id = stu; pwd = stu; database = blog";

 

//ADO.NET中连接数据库类

SqlConnection sqlcon = new SqlConnection(strCon);

 

//SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。

SqlDataAdapter myda = new SqlDataAdapter(sqlText, sqlcon);

 

//从数据源中检索到的数据在内存中的缓存,由一组 DataTable 对象组成

DataSet myds = new DataSet();

 

sqlcon.Open();

myda.Fill(myds);// SqlDataAdapter通过T-SQL语句Fill实现DataSet 和 SQL Server 之间的桥接

gvInfo.DataSource = myds;

gvInfo.DataBind();

     2.实现分页功能

       AllowPaging用于启用分页功能,PageIndex用于获取或显示当前显示页的索引;PageSize用于获取或设置GridView控件在每页上所显示的记录数目。

       实现分页功能时还需设置一个事件

protected void gvInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        gvInfo.PageIndex = e.NewPageIndex;

        gvInfo.DataBind();

}

3.选中,编辑,删除

对于编辑,删除操作,操作过后必定需要对其进行重新绑定操作,故可以首先编写一个重新绑定的函数,如下:

protected void ReBind()

    {

        string sqlText = "select * from dbbase_table";

        gvInfo.DataSource = dbBase.ExecuteSQLGetDataTable(sqlText);

        gvInfo.DataBind();

}

     <1>删除

删除操作时必须确定一个值以区别这一行,这里需节哀那个设置DataKeyNames属性

 

通过gvInfo.DataKeys[e.RowIndex].Value.ToString()可以获得DataKeys的值

protected void gvInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string sqlText = "delete from dbbase_table where name = '"+ gvInfo.DataKeys[e.RowIndex].Value.ToString()+"'";

 

        dbBase.ExecuteSQL(sqlText);

        gvInfo.EditIndex = -1;

        ReBind();

        Response.Redirect("index.aspx");

}

<2>更新

1.      选中编辑列

protected void gvInfo_RowEditing(object sender, GridViewEditEventArgs e)

    {

        gvInfo.EditIndex = e.NewEditIndex;//选中编辑列

        ReBind();

}

2.        编辑内容

可以在updating方法中书写更新语句,更新时Page_Load方法中一定要书写if(!IsPostBack){…}语句,否则更新无效。

获取某一项值可以用

((TextBox) (gvInfo.Rows[e.RowIndex].Cells[n].Controls[0])).Text.ToString().Trim()

获取的是第n个空格中的值

 

protected void gvInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        string sqlText = "update dbbase_table set age = "

            +Convert.ToInt32(((TextBox) (gvInfo.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim())+", city = '"

            +((TextBox) (gvInfo.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() +"' where name = '"

            +gvInfo.DataKeys[e.RowIndex].Value.ToString()+"'";

        dbBase.ExecuteSQL(sqlText);

        ReBind();

        Response.Redirect("index.aspx");

 

    }

  1. 取消编辑

    protected void gvInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        gvInfo.EditIndex = -1;//取消

        ReBind();

        Response.Redirect("index.aspx");

}

4.模板的使用

可以拖拉控件到指定模板

对模板的绑定需要bind()语句

  

       GridView用于在网格中显示表格数据

       DataSourceID属性:获取或设置对象,数据绑定控件从该对象中检索其数据项列表(不用)      

       1.数据绑定

GridView用于数据绑定时可将结果存入其DataSource属性中,然后执行其方法DataBind()进行数据绑定。

     Sample1

string sqlText = "select * from dbbase_table";

gvInfo.DataSource = dbBase.ExecuteSQLGetDataTable(sqlText);//DBBase中类获取数据源

gvInfo.DataBind();//绑定

       Sample2

//连接数据库字符串

string strCon = "server = HSY-B1CB094F4C4\\SQLEXPRESS; user id = stu; pwd = stu; database = blog";

 

//ADO.NET中连接数据库类

SqlConnection sqlcon = new SqlConnection(strCon);

 

//SqlDataAdapter DataSet SQL Server 之间的桥接器,用于检索和保存数据。

SqlDataAdapter myda = new SqlDataAdapter(sqlText, sqlcon);

 

//从数据源中检索到的数据在内存中的缓存,由一组 DataTable 对象组成

DataSet myds = new DataSet();

 

sqlcon.Open();

myda.Fill(myds);// SqlDataAdapter通过T-SQL语句Fill实现DataSet SQL Server 之间的桥接

gvInfo.DataSource = myds;

gvInfo.DataBind();

     2.实现分页功能

       AllowPaging用于启用分页功能,PageIndex用于获取或显示当前显示页的索引;PageSize用于获取或设置GridView控件在每页上所显示的记录数目。

       实现分页功能时还需设置一个事件

protected void gvInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        gvInfo.PageIndex = e.NewPageIndex;

        gvInfo.DataBind();

}

3.选中,编辑,删除

对于编辑,删除操作,操作过后必定需要对其进行重新绑定操作,故可以首先编写一个重新绑定的函数,如下:

protected void ReBind()

    {

        string sqlText = "select * from dbbase_table";

        gvInfo.DataSource = dbBase.ExecuteSQLGetDataTable(sqlText);

        gvInfo.DataBind();

}

     <1>删除

删除操作时必须确定一个值以区别这一行,这里需节哀那个设置DataKeyNames属性

通过gvInfo.DataKeys[e.RowIndex].Value.ToString()可以获得DataKeys的值

protected void gvInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)

    {

        string sqlText = "delete from dbbase_table where name = '"+ gvInfo.DataKeys[e.RowIndex].Value.ToString()+"'";

 

        dbBase.ExecuteSQL(sqlText);

        gvInfo.EditIndex = -1;

        ReBind();

        Response.Redirect("index.aspx");

}

<2>更新

1.      选中编辑列

protected void gvInfo_RowEditing(object sender, GridViewEditEventArgs e)

    {

        gvInfo.EditIndex = e.NewEditIndex;//选中编辑列

        ReBind();

}

2.        编辑内容

可以在updating方法中书写更新语句,更新时Page_Load方法中一定要书写if(!IsPostBack){…}语句,否则更新无效。

获取某一项值可以用

((TextBox) (gvInfo.Rows[e.RowIndex].Cells[n].Controls[0])).Text.ToString().Trim()

获取的是第n个空格中的值

 

protected void gvInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)

    {

        string sqlText = "update dbbase_table set age = "

            +Convert.ToInt32(((TextBox) (gvInfo.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim())+", city = '"

            +((TextBox) (gvInfo.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() +"' where name = '"

            +gvInfo.DataKeys[e.RowIndex].Value.ToString()+"'";

        dbBase.ExecuteSQL(sqlText);

        ReBind();

        Response.Redirect("index.aspx");

 

    }

  1. 取消编辑

    protected void gvInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

    {

        gvInfo.EditIndex = -1;//取消

        ReBind();

        Response.Redirect("index.aspx");

}

4.模板的使用

可以拖拉控件到指定模板

对模板的绑定需要bind()语句

 

posted on 2009-07-11 21:18  Xredman  阅读(418)  评论(0编辑  收藏  举报

导航