Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 20:55   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
Вопрос Изменить выделнную запись ListView

1. Есть ListView с записями
2. По событию ListView1Click всё содержимое Row передаётся в Form2 в Edit, далее оно там редактируется
3. При нажатии на кнопку Apply внести изменения в выделенную запись ListView из Edit's Form2.
Shouldercannon вне форума Ответить с цитированием
Старый 11.05.2011, 21:15   #2
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Код:
var row:integer;
begin
  row:=Listview1.ItemIndex;
   with Listview1 do
   begin
   Items[ItemIndex].SubItems[0]:=Edit1.Text;
   Items[ItemIndex].SubItems[1]:=Edit2.Text;
   Items[ItemIndex].SubItems[2]:=Edit3.Text;
   end;
end;
bulldog5293 вне форума Ответить с цитированием
Старый 11.05.2011, 21:41   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,899
По умолчанию

Получилось
Form1
Код:
unit Unit1;
...
  public
    { Public declarations }
    row: Integer;
  end;
...
procedure TForm1.ListView1Click(Sender: TObject);
begin
  if ListView1.Selected = nil then Exit;

  row := Listview1.ItemIndex;

  Form2.Edit1.Text := ListView1.Items[ListView1.ItemIndex].Caption;
  Form2.Edit2.Text := ListView1.Items[ListView1.ItemIndex].SubItems[0];
  Form2.Edit3.Text := ListView1.Items[ListView1.ItemIndex].SubItems[1];

  Form2.Show;
end;

end.
Form2
Код:
unit Unit2;
...
procedure TForm2.Button1Click(Sender: TObject);
begin
  Form1.row := Form1.ListView1.ItemIndex;

  with Form1.ListView1 do
  begin
    Items[ItemIndex].Caption := Edit1.Text;
    Items[ItemIndex].SubItems[0] := Edit2.Text;
    Items[ItemIndex].SubItems[1] := Edit3.Text;
  end;
end;

end.
Ошибок пока не выдаёт
Shouldercannon вне форума Ответить с цитированием
Старый 11.05.2011, 22:27   #4
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

лучше
Код:
if ListView1.Selected = nil then Exit;
заменить на
Код:
if ListView1.Selected<>nil then
bulldog5293 вне форума Ответить с цитированием
Старый 12.05.2011, 00:03   #5
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

bulldog5293, а в чем разница? Чем 2 вариант лучше 1?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 12.05.2011, 22:41   #6
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Код:
if ListView1.Selected = nil then Exit;
Вызов лишнего действия
bulldog5293 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в ListView Naстюshа C# (си шарп) 2 10.04.2011 21:28
Запись в типизированный файл из ListView alien^ka Общие вопросы Delphi 0 02.12.2010 19:21
ListView изменить Subitem отпеделённого Items'а Человек_Борща Помощь студентам 5 24.11.2010 13:27
Изменить цвет subitem-а в ListView zver777 Общие вопросы Delphi 4 28.07.2010 00:56
Изменить цвет части строки в ListView zver777 Общие вопросы Delphi 5 21.06.2010 14:07