gridview控件的删除功能怎么使用

GridView控件简介

GridView是ASP.NET中的一个控件,它可以用于显示数据,并支持分页、排序、选择等功能,GridView控件的主要属性有:DataKeyNames、DataSource、AutoGenerateColumns、Columns、PageSize等,本文将重点介绍如何使用GridView控件实现删除功能。

实现GridView控件的删除功能

1、在页面上添加一个GridView控件,并设置相关属性。

gridview控件的删除功能怎么使用

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="编号" ReadOnly="True" SortExpression="ID" />
        <asp:BoundField DataField="Name" HeaderText="姓名" SortExpression="Name" />
        <asp:BoundField DataField="Age" HeaderText="年龄" SortExpression="Age" />
        <asp:TemplateField HeaderText="">
            <ItemTemplate>
                <asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="Delete"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

2、在后台代码中添加SqlDataSource,并绑定数据源。

using System;
using System.Configuration;
using System.Data;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        BindData();
    }
    private void BindData()
    {
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM Users", conn);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
}

3、为GridView控件添加删除事件处理程序。

gridview控件的删除功能怎么使用

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {
        int id = Convert.ToInt32(e.CommandArgument);
        SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        SqlCommand cmd = new SqlCommand("DELETE FROM Users WHERE ID=@ID", conn);
        cmd.Parameters.AddWithValue("@ID", id);
        int rowsAffected = cmd.ExecuteNonQuery();
        if (rowsAffected > 0)
        {
            BindData(); //重新绑定数据源,刷新页面显示更新后的数据
            Response.Write("删除成功!");
        }
        else
        {
            Response.Write("删除失败!");
        }
    }
}

4、在前端代码中为LinkButton控件添加Click事件处理程序。

<asp:LinkButton ID="btnDelete" runat="server" Text="删除" CommandName="Delete" OnClientClick="return confirm('确定要删除吗?');"></asp:LinkButton>

相关问题与解答

问题1:如何在GridView控件中实现分页功能?

gridview控件的删除功能怎么使用

答案1:在GridView控件的属性中设置PageSize和CurrentPageIndex即可实现分页功能,设置每页显示10条记录,当前页显示第2页,需要在后台代码中绑定数据源时,使用LINQ查询语句进行分页查询,示例代码如下:

int pageIndex = Convert.ToInt32(Request.QueryString["page"]) + 1; //获取当前页码,从1开始计数,所以需要加1;如果没有传递page参数,则默认为1。
int pageSize = 10; //每页显示的记录数。
int totalRecordCount = dt.Rows.Count; //总记录数。
int totalPages = (totalRecordCount + pageSize 1) / pageSize; //计算总页数,注意这里要使用Math.Ceiling方法向上取整。
DataTable pagedData = dt.AsEnumerable().Skip((pageIndex 1) * pageSize).Take(pageSize).CopyToDataTable(); //分页查询数据,注意这里使用了AsEnumerable方法将DataTable转换为IEnumerable<DataRow>类型,以便使用LINQ查询语句进行分页,然后使用Skip和Take方法进行分页,最后使用CopyToDataTable方法将分页结果转换回DataTable类型,最后将分页后的数据绑定到GridView1控件的DataSource属性上即可。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/273049.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年1月28日 14:25
下一篇 2024年1月28日 14:28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入