Замените кнопку колонки «Удалить» кнопкой изображения в Gridview - PullRequest
0 голосов
/ 02 сентября 2011

Это мой код Gridview

<asp:DataGrid id="dg" runat="server" ondeletecommand="Delete_Item" >

        <columns>

        <asp:buttoncolumn buttontype="LinkButton" commandname="Delete" text="Remove" />

        </columns>
            <HeaderStyle BackColor="#95C736" ForeColor="White" Font-Bold="True" />
        </asp:DataGrid>

Я хочу заменить колонку кнопок изображением, что мне делать с моим GridView?

Ответы [ 3 ]

5 голосов
/ 02 сентября 2011

Я бы использовал шаблон столбца для этого:

<asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateColumn>
            <ItemTemplate>
                <asp:ImageButton ID="btnDelete" runat="server" ImageUrl="/images/delete.png" CommandName="Delete" />
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid> 
0 голосов
/ 24 июля 2012

Одна вещь, которую я только что сделал, которая сработала, это вставка закодированного html в текст.Text="&lt;img src='images/btn-find.png' class='ttip' alt='View Details' /&gt;" Это дало мне знать, только вставьте в img src, но также укажите класс и тэг alt.

Все, что вам нужно сделать, это использовать одиночные галочки и кодировать ваши <> с помощью gt и lt.

0 голосов
/ 02 сентября 2011

Замените столбец кнопки на TemplateColumn, чтобы вы могли поместить стандартные элементы управления asp внутрь.Затем вы можете обработать событие Datagrid_ItemCommand в обычном режиме.

    <asp:DataGrid ID="dgTest" runat="server">
        <Columns>
            <asp:TemplateColumn>
                <ItemTemplate>
                    <asp:ImageButton ID="ibtnDelete" runat="server" CommandName="cmdDelete"
                        ImageUrl="~/images/delete.png" />
                </ItemTemplate>
            </asp:TemplateColumn>
        </Columns>
    </asp:DataGrid>

Обработчик ItemCommand будет выглядеть примерно так:

Protected Sub dgTest_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgTest.ItemCommand
    If (e.CommandName = "cmdDelete") Then
        Response.Write("the command argument was :" & e.CommandArgument)
    End If
End Sub

Единственное, что вам нужно сделать, это связать некоторые данные скнопка изображения для аргумента команды.Я обычно делаю что-то вроде:

Protected Sub dgTest_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgTest.ItemDataBound
    If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
        Dim di As FAQTable = e.Item.DataItem
        DirectCast(e.Item.FindControl("ibtn"), ImageButton).CommandArgument = di.FAQID
    End If
End Sub

Вы также можете использовать элемент управления asp: image с элементом управления asp: Hyperlink, чтобы получить те же результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...