我本无名的专栏

事在人为休言万般皆是命,境由心造退一步天地宽

转载  GridView 删除某一行,只去除GridView中的记录,不更新数据库 收藏

<asp:GridView ID="view1" runat="server" OnRowCommand="gridview1_RowCommand">
    <Columns>
        <asp:TemplateField HeaderText="刪除">
            <ItemTemplate>
                <asp:Button ID="btnDelete" runat="server" CssClass="button1" Text="刪除" CommandName="Del"
                    CommandArgument=' <%#Eval("ID") %>' OnClientClick="return window.confirm('您確定要刪除嗎?');" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("ID"));
        dt.Columns.Add(new DataColumn("name"));
        DataRow dr = dt.NewRow();
        dr["ID"] = 1;
        dr["name"] = "xx";
        dt.Rows.Add(dr);
        dr = dt.NewRow();
        dr["ID"] = 2;
        dr["name"] = "yy";
        dt.Rows.Add(dr);
        ViewState["DT"] = dt;
        DataBind();
    }
}
private void DataBind()
{
    view1.DataSource = ViewState["DT"];
    view1.DataBind();
}
protected void gridview1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Del")
    {
        int id = Convert.ToInt32(e.CommandArgument);
        GridViewRow gvrow = (GridViewRow)(((Button)e.CommandSource).NamingContainer);
        int index = gvrow.RowIndex;
        DataTable dt = (DataTable)ViewState["DT"];
        dt.Rows.RemoveAt(index);
        DataBind();
    }

发表于 @ 2009年04月10日 10:23:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:QQ在线客服的二种代码,感觉很不错 | 新一篇:ASP内容分页的几种方法,ASP记录内容太长,就用这几种分页方法

  • 发表评论
  • 评论内容:
  •  
Copyright © chenguang79
Powered by CSDN Blog