2010-04-20 65 views
1

我想在DataGridView中做一個簡單的「刪除行」按鈕,但問題是我希望它是一個ImageButton而不是一個簡單的Button。在C#中的DataGridView中添加圖像按鈕#

目前我已將它設置爲ButtonColumn,但沒有看到將其從帶有文本的簡單按鈕更改爲帶有圖像的按鈕的可能性。

我知道這是可能的,希望相對簡單,但我不確定如何去做。

編輯

對不起,我應該澄清。 這是直接C#中的獨立應用程序...我無法訪問ASP表單類型。

回答

1

如果你願意只是去,而不是一個ImageButton的可點擊的圖片,有一個非常簡單的解決方案。

添加一個ImageColumn到你的dgView中,將它的「NullValue」設置爲一個紅色的X或任何你想要的。這將確保所有的行將始終顯示X而不需要額外的工作。

之後,你會想添加一個「CellContentClick」事件來捕獲用戶實際點擊X.

裏面的cellcontent點擊事件,您可以檢查是否

//check if your clicking on a cell inside the imagecolumn column 
if(e.ColumnIndex == this.colImageColumn.index && e.RowIndex > 0) 
    //Delete Row e.RowIndex 
1
<asp:buttonfield ButtonType="Image" ImageUrl="/images/edit.gif" commandname="ibtnEdit" HeaderText=" " /> 
+0

請參閱編輯 – espais 2010-04-20 11:17:02

+0

哎呀!我認爲這是asp.net。抱歉。 – 2010-04-20 12:40:35

-1

您可以在GridView中使用模板字段。就像這樣:

<asp:TemplateField HeaderText="Delete"> 
    <ItemTemplate> 
    <asp:ImageButton ID="imgBtnDelete" runat="server" OnClick="imgBtnDelete_Click" ImageUrl="~/media/Delete.gif"> 
    </asp:ImageButton> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

請參閱編輯 – espais 2010-04-20 11:17:22

0

在事件dataGridViewMain_CellContentClick寫下面的代碼

if (e.ColumnIndex == dataGridViewMain.Columns["ImageColumn"].Index) 
    { 
    lblShowCellData.Text = dataGridViewMain.Rows[e.RowIndex].Cells["CustomerName"].Value.ToString(); 
    // Do some thing else.... 
    } 

下載完整的源代碼在http://tablegridview.blogspot.in