20151224001 GridView 多按钮的各种使用方法

       <asp:GridView ID="GridView1"
                runat="server" AllowPaging="True" AutoGenerateColumns="False"
                BackColor="#78C7EB" BorderColor="#78C7EB" BorderWidth="1px"
                CellPadding="3" CellSpacing="2" DataKeyNames="ID"
                Height="50px" Width="810px" style="left: 3px; top: 3px"
                OnPageIndexChanging="GridView1_PageIndexChanging"
                OnRowDataBound="GridView1_RowDataBound"
                Font-Size="Large" PageSize="5"
                    onselectedindexchanged="GridView1_SelectedIndexChanged"
                    onrowcommand="GridView1_RowCommand" onrowdeleting="GridView1_RowDeleting">
                <FooterStyle BackColor="#F7DFB5" ForeColor="#46434F" Font-Bold="False" />
                <RowStyle BackColor="#EDF6FA" ForeColor="#46434F" />
                <Columns>
               
                   
                    <asp:CommandField HeaderText="查看" ShowSelectButton="True" SelectText="查看" >
                        <HeaderStyle BackColor="#4B9D1A" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="38px" ForeColor="#003300" />
                    </asp:CommandField>

                    <asp:CommandField DeleteText="变更" HeaderText="变更" ShowDeleteButton="True">
                        <HeaderStyle BackColor="#4B9D1A" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="38px" ForeColor="#CA0ED3" />
                    </asp:CommandField>

                   
                    <asp:ButtonField ButtonType="Button" Text="取消" HeaderText="取消"
                        CommandName="b_cancel">
                        <ControlStyle ForeColor="#800010" />
                        <HeaderStyle BackColor="#4B9D1A" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="38px" ForeColor="#CA0ED3" />
                    </asp:ButtonField>
               
                   
                    <asp:BoundField DataField="ID" HeaderText="编号" ReadOnly="True"
                        SortExpression="ID" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="28px" />
                    </asp:BoundField>

                    <asp:BoundField DataField="M_Title" HeaderText="会议主题" SortExpression="M_Title" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="160px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_Room" HeaderText="会议室" SortExpression="M_Room" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="60px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_Chairman" HeaderText="主持人"
                        SortExpression="M_Chairman" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="60px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_S_Time" HeaderText="开始时间"
                        SortExpression="M_S_Time" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="80px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_E_Time" HeaderText="结束时间"
                        SortExpression="M_E_Time" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="80px" />
                    </asp:BoundField>
                     <asp:BoundField DataField="M_Person" HeaderText="与会人"
                        SortExpression="M_Person" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="100px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_Operator" HeaderText="预约人"
                        SortExpression="M_Operator" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="60px" />
                    </asp:BoundField>
                    <asp:BoundField DataField="M_Operator_Date" HeaderText="预约时间"
                        SortExpression="M_Operator_Date" >
                        <HeaderStyle BackColor="#34A7DC" BorderColor="#336699" BorderStyle="Double"
                            BorderWidth="1px" Font-Size="Medium" />
                        <ItemStyle HorizontalAlign="Center" BorderWidth="1px"
                            Font-Size="Small" BorderColor="#34A7DC" Width="80px" />
                    </asp:BoundField>
                   
                  
                   
                </Columns>
                <PagerStyle ForeColor="#EDF6FA" HorizontalAlign="Center" Font-Bold="True"
                      Font-Italic="False" Font-Names="Arial Black" Font-Overline="False"
                      Font-Size="Medium" Font-Underline="False" Height="28px" />
                <SelectedRowStyle BackColor="#4B9D1A" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#EDF6FA" Font-Bold="True" ForeColor="White"
                      Font-Size="Small" Height="38px" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>

******************************************************************************************************

  protected void databind()
    {
        P_ht.H_data P_data = new P_ht.H_data();

        P_data.sql_text1 = Str_sql;
        P_data.select_tables();
        DataSet1 = P_data.DataSet8;
        Session["session_table"] = P_data.DataSet8;
        this.GridView1.DataSource = DataSet1;
        this.GridView1.DataBind();
    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        this.DataSet2 = new System.Data.DataSet();
        this.DataSet2 = (DataSet)Session["session_table"];
        this.GridView1.DataSource = this.DataSet2;
        this.GridView1.DataBind();
    }

    //
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        int i;
        //执行循环,保证每条数据都可以更新
        for (i = -1; i < GridView1.Rows.Count; i++)
        {
            //首先判断是否是数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                //当鼠标停留时更改背景色
                e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#bcbf56'");
                //当鼠标移开时还原背景色
                e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
            }
        }

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //Button b = e.Row.Cells[0].Controls[0] as Button;
            Button b = e.Row.Cells[2].Controls[0] as Button;
            b.Attributes.Add("onclick", "if(confirm('你确认要取消选中的会议预约吗?')){ __doPostBack('GridView1','$" + e.Row.RowIndex + "')}else{return false;}");
        }
    }

    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        //GridView g = (e.CommandSource as GridView);
        ////Label1.Text = "你选择的行 ID = " + g.DataKeys[Convert.ToInt32(e.CommandArgument)].Value;
        //if (Convert.ToInt32(g.DataKeys[Convert.ToInt32(e.CommandArgument)].Value) != null)
        //{
        //    if (Convert.ToInt32(g.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString()) > 0)
        //    {
        //        ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;
        //        scriptManager.RegisterStartupScript(typeof(string), "", "alert('提示: " + g.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString() + "  ');", true);
        //    }
        //}

        // 在RowCommand事件中通过CommandName来区分点击了哪个Button
        GridView g = (e.CommandSource as GridView);
        if (e.CommandName == "b_cancel")
        {
            ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;
            scriptManager.RegisterStartupScript(typeof(string), "", "alert('提示: " + g.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString() + "  ');", true);
        }
    }

    //
    static string str_ca = "";
    protected void btn_i_date1_Click(object sender, ImageClickEventArgs e)
    {
        LayerCC.Visible = !LayerCC.Visible;
        str_ca = "1";
    }
    protected void btn_i_date2_Click(object sender, ImageClickEventArgs e)
    {
        LayerCC.Visible = !LayerCC.Visible;
        str_ca = "2";
    }

    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        if (str_ca == "1")
        {
            txt_date1.Text = Calendar1.SelectedDate.ToString("yyyy-MM-dd");
            LayerCC.Visible = false;
        }

        if (str_ca == "2")
        {
            txt_date2.Text = Calendar1.SelectedDate.ToString("yyyy-MM-dd");
            LayerCC.Visible = false;
        }
    }

    protected void btn_i_confirm_Click(object sender, ImageClickEventArgs e)
    {
        //
        string str_room = "";
        if (Session["meeting_room"] == null)
        {
            str_room = "";
        }
        else
        {
            str_room = Session["meeting_room"].ToString();
        }

        //
        dt1 = System.Convert.ToDateTime(txt_date1.Text.Trim() + " 00:00:00 ");
        dt2 = System.Convert.ToDateTime(txt_date2.Text.Trim() + " 23:59:59 ");

        //
        databind();


    }


    //
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = GridView1.SelectedRow;

        // Display the company name from the selected row.
        // In this example, the third column (index 2) contains
        // the company name.

        //Message.Text = "You selected " + row.Cells[2].Text + ". ";

        ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;
        scriptManager.RegisterStartupScript(typeof(string), "", "alert('提示: " +  row.Cells[3].Text + " 查看 ');", true);
    }


    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        //string str_a = e.RowIndex.ToString();
        //string str_a = e.Keys.ToString();
        ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;
        scriptManager.RegisterStartupScript(typeof(string), "", "alert('提示: " + GridView1.Rows[e.RowIndex].Cells[3].Text.ToString().Trim() + " 编辑 ');", true);
    }
}

原文地址:https://www.cnblogs.com/hutie1980/p/5071975.html