powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите с кнопкой в ListView
5 сообщений из 5, страница 1 из 1
Помогите с кнопкой в ListView
    #38234766
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть например список LIstView и на каждой строке есть кнопка редактировать, так вот загружаю я из базы примерно 50 записей и дальше человечик работает с этими данными не трогая базу(кроме сохранения изменений но не обновляя сам список).

Так вот когда человек кнопает на кнопку редактировать то появляется форма редактирования и после кликания на кнопку сохранить мне необходимо заменить кнопку редактировать на другую или сделать ее не активной.

Пробовал так

Вариант 1 (Кликая по кнопке в панели редактирования - не внутри списка а в отдельном контроле Panel)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
protected void bSaveClose_Click(object sender, EventArgs e)
{
 foreach (ListViewDataItem litem in lvList.Items)
        {
            HiddenField hdId = litem.FindControl("hdId") as HiddenField;  //ID записи
            ImageButton imgEdit = litem.FindControl("imgEdit") as ImageButton;  //Иконка редактирования в ListView

            if (hdId != null)
            {
                if (Int64.Parse(hdId.Value) == IdI)  // id записи в ViewState
                {
                    imgEdit.Enabled = false;
                    imgEdit.ImageUrl = "~/Images/Saved.png";
                    DataSave.InsData(Int64.Parse(hdId.Value));  //Ф-я сохранения данных в базе - пример
                    //return;
                }
            }
        }
}



Вариант 2 (через обработчик OnItemDataBound)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
protected void lstList_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType == ListViewItemType.DataItem)
        {
            HiddenField hdId = e.Item.FindControl("hdId") as HiddenField;
            ImageButton imgEdit = e.Item.FindControl("imgEdit") as ImageButton;
            if (Int64.Parse(hdId.Value) == IdI)  //IdI - id записи в ViewState
            {
                imgEdit.Enabled = false;
                imgEdit.ImageUrl = "~/Images/Saved.png";
            } 
        }
    }



Вот фрагмент кода кнопки редактирования

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
private Int64 IdI
    {
        set { ViewState["idi"] = value; }
        get { return (ViewState["idi"] != null ? (Int64)ViewState["idi"] : 0); }
    }

 protected void bEdit_Command(object sender, CommandEventArgs e)
{
   pnlEdit.Visible = true;  // контрол Panel с полями редактирования TextBox И т. д.
   ....
  foreach (ListViewDataItem litem in lvList.Items)
  {
      HiddenField hdId = litem.FindControl("hdId") as HiddenField;
      .....
      if (hdId != null)
            {
                if (hdId.Value == e.CommandArgument.ToString())
                {
                    IdI = Int64.Parse(hdId.Value);
                    ......
                }
            }
  }
}



При Варианте 1 кнопка обновляется но после того как пользователь кликнул на нее еще один раз уже после сохранения и уже сохраненные данные еще раз появились в полях для редактирования.

Но Вариант 2 не работает так как я не обновляю список, мне нужно только поменять иконку в списке что бы пользователь не кликал по уже сохраненным данным.

Спасибо.
...
Рейтинг: 0 / 0
Помогите с кнопкой в ListView
    #38234787
cooldeveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не гадать на кофейной гуще, выложи демку.
...
Рейтинг: 0 / 0
Помогите с кнопкой в ListView
    #38234807
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cooldeveloper,

Да здесь и особо нечего выкладывать всего то после нажатия на обычную кнопку необходимо в ListView заменить иконку не обновляя данные из базы
...
Рейтинг: 0 / 0
Помогите с кнопкой в ListView
    #38234825
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

.. повесьте на кнопку JavaScript через OnClientClick, например, как здесь

http://forums.asp.net/t/1211836.aspx/1
...
Рейтинг: 0 / 0
Помогите с кнопкой в ListView
    #38234842
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotikVIT2708,

.. повесьте на кнопку JavaScript через OnClientClick, например, как здесь

http://forums.asp.net/t/1211836.aspx/1

За ссылку спасибо, буду пробовать хотя там известны id да и контрол находится не в списке
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Помогите с кнопкой в ListView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]