ASP.NET设计GridView控件的使用方法

页面GridView控件设计代码:

<asp:GridView ID="Commentslist" runat="server" AllowPaging="True" 
            AutoGenerateColumns="False" DataKeyNames="UserID" 
            OnPageIndexChanging="Commentslist_PageIndexChanging" 
            OnRowDeleting="Commentslist_RowDeleting" 
            OnSelectedIndexChanging="Commentslist_Looking" PageSize="5">
            <Columns>
                <asp:BoundField DataField="UserID" HeaderText="用户ID">
                <HeaderStyle Height="30px" Width="100px" />
                <ItemStyle Height="30px" Width="100px" />
                </asp:BoundField>
                <asp:BoundField DataField="UserName" HeaderText="用户名字">
                <HeaderStyle Height="30px" Width="100px" />
                <ItemStyle Height="30px" Width="100px" />
                </asp:BoundField>
                <asp:BoundField DataField="CommentID" HeaderText="编号ID">
                <HeaderStyle Height="30px" Width="60px" />
                <ItemStyle Height="30px" Width="60px" />
                </asp:BoundField>
                <asp:BoundField DataField="CommentInfor" HeaderText="内容">
                <HeaderStyle Height="30px" Width="250px" />
                <ItemStyle Height="30px" Width="250px" />
                </asp:BoundField>
                <asp:CommandField HeaderText="查看" SelectText="查看" ShowSelectButton="True">
                <HeaderStyle Height="30px" Width="50px" />
                <ItemStyle Height="30px" Width="50px" />
                </asp:CommandField>
                <asp:CommandField HeaderText="删除" ShowDeleteButton="True">
                <HeaderStyle Height="30px" Width="50px" />
                <ItemStyle Height="30px" Width="50px" />
                </asp:CommandField>
            </Columns>
        </asp:GridView>

 

后台代码实现:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            this.BindToGirdView();
    }

    private void BindToGirdView()
    {
        string Userid = Session["userid"].ToString();
        SqlConnection sqlConnection = new SqlConnection();
        sqlConnection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db"].ToString();
        string sqlStr = "select * from Comment where UserID=" + Userid + "or UserID in (select FriendsID from Friends where UserID=" + Userid + ")";
        SqlDataAdapter sda = new SqlDataAdapter(sqlStr, sqlConnection);
        DataSet ds = new DataSet();
        sqlConnection.Open();
        sda.Fill(ds, "Comments");
        sqlConnection.Close();

        if (ds.Tables["Comments"].Rows.Count == 0)
        {
            ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
            Commentslist.DataSource = ds.Tables[0].DefaultView;
            Commentslist.DataBind();
            Commentslist.Rows[0].Cells.Clear();
        }
        else
            this.Commentslist.DataSource = ds.Tables["Comments"].DefaultView;
        this.Commentslist.DataBind();
    }

    protected void Commentslist_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        Commentslist.PageIndex = e.NewPageIndex;
        this.BindToGirdView();
    }

    protected void Commentslist_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string Userid = Session["userid"].ToString();
        SqlConnection sqlConnection = new SqlConnection();
        sqlConnection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["db"].ToString();
        string sqlStr = "select * from Comment where UserID=" + Userid + "or UserID in (select FriendsID from Friends where UserID=" + Userid + ")";
        SqlDataAdapter sda = new SqlDataAdapter(sqlStr, sqlConnection);
        DataSet ds = new DataSet();
        sqlConnection.Open();
        sda.Fill(ds, "Comments");
        sqlConnection.Close();
        if (ds.Tables["Comments"].Rows.Count == 0)
            Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
                   "<script language='javascript' defer>alert('列表为空,删除失败!');</script>");
        else
        {
            int CommentID = Convert.ToInt32(this.Commentslist.Rows[e.RowIndex].Cells[2].Text);
            int result1 = BLL.DeleteCommentData(CommentID);
            //int result2 = BLL.DeleteAnswerCommentData(CommentID);
            //if (result1 > 0 && result2 > 0)
            if (result1 > 0)
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
                   "<script language='javascript' defer>alert('删除成功!');</script>");
                this.BindToGirdView();
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
                   "<script language='javascript' defer>alert('删除失败!');</script>");
                this.BindToGirdView();
            }
        }
    }

    protected void Commentslist_Looking(object sender, GridViewSelectEventArgs e)
    {
        Session["commentid"] = Convert.ToInt32(this.Commentslist.Rows[e.NewSelectedIndex].Cells[2].Text);
        Response.Redirect("AnswerCommentlist.aspx");
    }

 

    BindToGirdView()函数中的if语句可以令该表中的数据为空的时候显示出表头,如果没有这个语句,当数据为空时表格则不会显示出来。

   “this.Commentslist.Rows[e.NewSelectedIndex].Cells[2].Text”语句可以用来获取表格中的数据,Rows[e.NewSelectedIndex]表示当前选择的行,Cells[]用来标识获取哪一列中的数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值