1. 程式人生 > >GridView中的CheckBox單擊事件(oncheckedchanged)

GridView中的CheckBox單擊事件(oncheckedchanged)

在GridView中加入 CheckBox控制元件,想通過單擊選中出現如下圖所示效果:


具體做法是:

前臺GV部份省掉。只加關鍵的CheckBox部份。

<asp:CheckBox ID="ItemCheckBox" oncheckedchanged="ItemCheckBox_CheckedChanged" AutoPostBack="true" runat="server" />  

此程式碼需要注意的是:

AutoPostBack="true"

此句的效果是選中後才會執行後臺的程式碼。

後臺程式碼:C#

//單獨選中
    protected void ItemCheckBox_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk =(CheckBox)sender;

        //以下兩句為 選中背景色       第一種方法通過 Parent 獲得GridViewRow
        DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;    //這個物件的父類為cell
        GridViewRow gr = (GridViewRow)dcf.Parent;                   //cell的父類就是row,這樣就得到了該checkbox所在的該行

        //另外一種NamingContainer獲得 GridViewRow
        int index = ((GridViewRow)(chk.NamingContainer)).RowIndex;    //通過NamingContainer可以獲取當前checkbox所在容器物件,即gridviewrow

        string strsql="";
        string qtable = GVOpen.Rows[index].Cells[4].Text.Trim();
        string qid = GVOpen.Rows[index].Cells[1].Text.Trim();
        

        if (chk.Checked)
        {
            gr.BackColor = System.Drawing.Color.Green;
        }
        else
        {
            gr.BackColor = GVOpen.RowStyle.BackColor;
        }
    }


轉載自:http://blog.csdn.net/iflash50/article/details/4494338