关于Gridview的一些知识和问题

1.关于绑定

          GridView1.DataSource = table;(table为DataTable类型,也可绑定DataView、集合等类型)
            GridView1.DataKeyNames = new string[] { "id" }; 设置主键

            GridView1.DataBind();

2.行删除事件

 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        GridViewRow r = GridView1.Rows[e.RowIndex];
             string   sql = "delete from tabookey where id=" + r.Cells[0].Text;
        if (SqlHelper.Execute(sql))
        {
            if (GridView1.PageIndex == GridView1.PageCount - 1 && GridView1.Rows.Count % GridView1.PageSize == 1)//如果是最后一页只有一行
            {
                if (GridView1.PageIndex > 0)
                {
                    GridView1.PageIndex -= 1;
                }
            }
            BindGrid();
        }    }

3.行编辑事件

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        Bind();

    }

编辑后的更新和取消

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int id;
        string keyword;
        string endDate;
        id = (int)GridView1.DataKeys[e.RowIndex].Value;
        keyword = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].FindControl("TextBox1")).Text;
        endDate = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].FindControl("TextBox2")).Text;
        if (keyword != "")
        {
            List<SqlParameter> list = new List<SqlParameter>();
            SqlParameter p = new SqlParameter("@id", id);
            list.Add(p);
            p = new SqlParameter("keyword", keyword);
            list.Add(p);
            p = new SqlParameter("deadline", DateTime.Parse(endDate));
            list.Add(p);
            SqlHelper.Execute("updatekeyvip", list);
        }
        GridView1.EditIndex = -1;
        Bind();

    }

取消编辑
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        Bind();
    }

4.翻页事件

 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        Bind();
}

5.选择行改变事件

  protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string sql="update comvip set ifdisplay=";
         LinkButton l = (LinkButton)GridView1.SelectedRow.Cells[1].FindControl("LinkButton1");
        if(l.Text=="屏蔽")
        {
            sql+="0";
        }  else{
            sql+="1";
        }
        sql += " where id = " + GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
        if (SqlHelper.Execute(sql))
        {
            loadGridView(SQLSTR);
            this.Page.RegisterClientScriptBlock("", "<script>alert('" + l.Text + "成功');</script>");
                  }
    }

6.行绑定事件(隐藏列或者显示方面在此事件中)

 if (e.Row.RowType == DataControlRowType.DataRow)
        {

            Label label1 = (Label)e.Row.FindControl("Label1");
            LinkButton l = (LinkButton)e.Row.FindControl("LinkButton1");
            int ifdisplay = int.Parse(label1.Text);
            if (ifdisplay == 0)
            {
                l.Text = "显示";
                l.CssClass = "a1";
            }
            else
            {
                l.Text = "屏蔽";
                l.CssClass = "a3";
            }

            Label label2 = (Label)e.Row.FindControl("Label2");
            LinkButton l2 = (LinkButton)e.Row.FindControl("LinkButton2");
            int tuijian = int.Parse(label2.Text);
            if (tuijian == 0)
            {
                l2.Text = "推荐";
                l2.CssClass = "a1";
            }
            else
            {
                l2.Text = "取消";
                l2.CssClass = "a3";
            }
         
            l2.CommandArgument = e.Row.RowIndex.ToString();//绑定CommandArgument为行号,方便事件中使用行索引

        }
    }

7.行command事件

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "tuijian")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            int comid = (int)GridView1.DataKeys[index].Value;
          
           // Response.Redirect("adminkeyvip.aspx?id=" + comid);
            string sql = "update comvip set tuijian=";
            LinkButton l = (LinkButton)GridView1.Rows[index].Cells[0].FindControl("LinkButton2");
            if (l.Text == "取消")
            {
                sql += "0";
            }
            else
            {
                sql += "1";
            }
            sql += " where id = " + comid;
            if (SqlHelper.Execute(sql))
            {
                loadGridView(SQLSTR);
                this.Page.RegisterClientScriptBlock("", "<script>alert('" + l.Text + "成功');</script>");
                          }

        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值