中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

GridView編輯、取消按鈕自定義控件

發布時間:2020-07-11 08:16:00 來源:網絡 閱讀:778 作者:guwei4037 欄目:編程語言

這個需求來自于論壇一位壇友提出的問題,他希望能夠自定義編輯、取消按鈕,而不是用GridView自帶的編輯和取消。這里只當拋磚引玉,提出一些解決方案。

首先在頁面前臺設置一個GridView。

<div> 
    <asp:GridView ID="GridView1" runat="server"> 
        <Columns> 
            <asp:TemplateField HeaderText="操作"> 
                <ItemTemplate> 
                    <table> 
                        <td align="center"> 
                            <asp:Button ID="Edit" runat="server" Text="編輯" Visible="true" OnClick="Edit_Click" 
                                CommandArgument="<%# Container.DataItemIndex %>" /> 
                            <asp:Button ID="Cancel" runat="server" Text="取消" Visible="false" OnClick="Cancel_Click" /> 
                        </td> 
                    </table> 
                </ItemTemplate> 
            </asp:TemplateField> 
        </Columns> 
    </asp:GridView> 
</div>

這里注意,我通過給按鈕Edit的CommandArgument屬性設置一個DataItemIndex值,這個值就是默認行的索引值。通過這個參數可以獲取GridView的行號。

然后我在首頁加載的時候綁定數據源。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
        DataTable dt = new DataTable(); 
        dt.Columns.Add("id", typeof(int)); 
        dt.Columns.Add("name", typeof(string)); 
              
        dt.Rows.Add(10001, "guwei40371"); 
        dt.Rows.Add(10002, "guwei40372"); 
              
        this.GridView1.DataSource = dt.DefaultView; 
        this.GridView1.DataBind(); 
    } 
}

這里很簡單,就是綁定了兩列,給GridView綁定上。

接下來兩個按鈕事件:

protected void Edit_Click(object sender, EventArgs e) 
{ 
    int index = Convert.ToInt32((sender as Button).CommandArgument);//獲取到行號 
    Button button = this.GridView1.Rows[index].FindControl("Cancel") as Button;//找到當前行的Cancel按鈕 
    button.Visible = true;//設置按鈕的Visible為true 
} 
        
protected void Cancel_Click(object sender, EventArgs e) 
{ 
    int row = ((GridViewRow)((Button)sender).NamingContainer).RowIndex;//通過按鈕直接找到命名容器(GridViewRow)的RowIndex 
    Response.Write("<script>alert('" + this.GridView1.Rows[row].Cells[1].Text + "')</script>");//直接彈出當前行單元格索引為1的內容 
}

具體代碼的含義,上面已經注釋明了,這里不重復。


最后看下執行的效果。

當點擊編輯按鈕的時候,顯示取消按鈕。

GridView編輯、取消按鈕自定義控件
當點擊取消按鈕的時候,彈出10001。

GridView編輯、取消按鈕自定義控件

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛山市| 中超| 田阳县| 蒙山县| 兰西县| 洪洞县| 凤台县| 谷城县| 绍兴市| 平山县| 永平县| 博爱县| 潞城市| 湄潭县| 化德县| 绥阳县| 湘西| 濮阳市| 师宗县| 肃宁县| 荆州市| 定结县| 革吉县| 木里| 银川市| 依安县| 响水县| 确山县| 潜山县| 长岭县| 清远市| 颍上县| 潞城市| 巴南区| 韶关市| 平泉县| 扎囊县| 阿拉善盟| 云龙县| 南京市| 边坝县|