Кнопка добавления изображения в таблицу данных динамически привязывается к данным - PullRequest
0 голосов
/ 03 августа 2011

Я отображаю вид сетки, в котором должен отображаться столбец с кнопкой изображения.

Как динамически добавить кнопку изображения в строку вида сетки?

Я не хочу входить, используя поле шаблона из поля дизайна вида сетки.Поскольку это кнопка изображения, я должен быть в состоянии захватить одно и то же событие. Как сделать то же самое?

Ответы [ 2 ]

1 голос
/ 08 июня 2015

я думаю, что вы можете добавить изображение к своим кнопкам редактирования и удаления из файла .aspx, я просто попробовал и получил его .. 1. Сначала сделайте вид сетки, а затем добавьте действия, такие как OnRowEditing="GridView1_RowEditing" OnRowDeleting="GridView1_RowDeleting"

я показываю вам, как добавить изображения для редактирования, а кнопку «обновить» и «отменить» вы можете выполнить аналогичным образом.

Теперь перейдите к источнику gridview ..

вы увидите такой код

 <asp:CommandField ShowEditButton="True"/>
 <asp:CommandField ShowDeleteButton="True"/>

после этого измените несколько вещей, таких как add

 <asp:CommandField ShowEditButton="True" ButtonType="Image" EditImageUrl="~/uploads/edit.png" />
 <asp:CommandField ShowDeleteButton="True" ButtonType="Image" DeleteImageUrl="~/uploads/delete.png" />

И после этого обязательно сохраняйте изображения только в 45 * 25 размерах, сохраняйте их в любой папке и не забывайте указывать путь, как я указал здесь, моя папка загружается.

Примечание: не храните изображения в App_data, это для хранения файлов базы данных .mdf, любые изображения не будут работать для вас .. если изображения не отображаются в выпадающем списке при добавлении imageurl, попробуйте физически добавить его путь .

0 голосов
/ 03 августа 2011

Я думаю, вы можете использовать поле шаблона для этого.Что вам нужно сделать, так это в событии GridView RowDataBound найти ImageButton, который вы добавили в поле шаблона, а затем дать идентификатор или номер строки или что-то, что вы можете использовать для определения, в какой строке находится ImageButton, в качестве атрибута ImageButton.

Вы можете использовать это место, чтобы дать ImageUrl также образец, похожий на приведенный ниже.

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            ImageButton imgbtn = (ImageButton)e.Row.FindControl("imgbtn1");
            if (imgbtn != null)
            {
                imgbtn.Attributes["id"] = e.Row.RowIndex.ToString();
            }

        }
    }

, затем вы можете создать событие click для ImageButton.Таким образом, вы можете получить id / rowindex кнопки изображения, на которую вы нажали, и делать то, что вы хотите.Событие может выглядеть следующим образом

 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton btn = (ImageButton)sender;
        string rowindex = btn.Attributes["id"];

    }

, тогда в поле шаблона GridView вы можете добавить событие click к событию ImageButtons onClick.Это может выглядеть так:

<asp:TemplateField HeaderText="Image">
                <ItemTemplate>
                    <asp:ImageButton  runat ="server" ID="imgbtn1"  onclick="ImageButton1_Click"/>
                </ItemTemplate>
            </asp:TemplateField>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...