Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.11.01;
Скачать: CL | DM;

Вниз

процедура для TreeView   Найти похожие ветки 

 
RusSun ©   (2009-12-17 18:11) [0]

Добрый день, уважаемые мастера.

Имеется структура,


type
 PQuestion=^TQuestion;
 TQuestion=record
  Name: String[255];
  ResultQCount:Integer;
  ResultCount:Integer;
  ResiltText: array[0..10] of String[255];
  ResiltValue: array[0..10] of boolean;
 end;

Заполняю ... и загружаю в


with QuestionTreeView^ do begin
 TVInsert( 0, 0,NewQuest.Name);
 Font.FontStyle:=[fsunderline];
                          end;


У меня в начале была версия 1.91 kol"а потом. Потом установил 2.88.
В первой Node"ы есть. Во второй нет.
Вопрос как реализовать следующую процедуру для 2.88

Процедура при событии Change должна подгружать
в ListView  (в моём ResultView) с QuestionTreeView
соответствующие data.

Вариант на VCL:
QuestionTreeViewChange(Sender: TObject;
 Node: TTreeNode);
var
i:Integer;
begin
ResultView.Items.Clear;
if Node=nil then exit;

for i:=0 to PQuestion(node.Data).ResultCount-1 do
 with ResultView.Items.Add do
  begin
   Caption:=PQuestion(node.Data).ResiltText[i];
   if PQuestion(node.Data).ResiltValue[i]=true then
    begin
     SubItems.Add("Да");
     ImageIndex:=2;
    end
   else
    begin
     SubItems.Add("Нет");
     ImageIndex:=1;
    end;
  end;
end;

Вариант на Kol:?
Спасибо.


 
Дмитрий К ©   (2009-12-17 21:05) [1]

OnTVSelChanging
TVItemData


 
RusSun ©   (2009-12-18 15:30) [2]

Дмитрий К Спасибо за быстрый ответ.
реализовал так:

procedure QuestionTreeViewSelChange(Sender:pcontrol);
var i:integer;
begin
ResultView.Clear;
//провека на пустые поля
      index:=QuestionTreeView.TVSelected;//showmessage(int2str(index));
      for i:=0 to PQuestion(QuestionTreeView.TVItemData[index]).ResultCount-1 do begin
if  PQuestion(QuestionTreeView.TVItemData[index]).ResiltValue[i]=true then begin
ResultView.LVItemAdd("");
ResultView.LVItems[i,1]:="Да";
ResultView.LVSetItem(i,0,PQuestion(QuestionTreeView.TVItemData[index]).ResiltTex t[i],2, [], 0, 0, 0);
           end else begin
           ResultView.LVItemAdd("");
ResultView.LVItems[i,1]:="Нет";
ResultView.LVSetItem(i,0,PQuestion(QuestionTreeView.TVItemData[index]).ResiltTex t[i],1, [], 0, 0, 0);
                     end;
           end;

end;


Вот только меня смущает что событие SelChange
происходит раньше чем кликнуть на TVItem, то есть сразу появляется.
А не должно.:(


 
RusSun ©   (2009-12-19 23:12) [3]

Доброе время суток.

Вопрос  по процедуре.
Почему при вызове в другом окне
процедура не  выводит картинки в ListView???


 
RusSun ©   (2009-12-20 01:05) [4]

Всё, поправил;)



Страницы: 1 вся ветка

Текущий архив: 2015.11.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.004 c
15-1426768249
Pavelnk
2015-03-19 15:30
2015.11.01
С php на delphi


15-1426714204
Юрий
2015-03-19 00:30
2015.11.01
С днем рождения ! 19 марта 2015 четверг


2-1401462501
Андрюша
2014-05-30 19:08
2015.11.01
Как внести в базу Firebird в одно поле дату и время?


15-1425857735
Кто б сомневался
2015-03-09 02:35
2015.11.01
Таймер и поток


15-1426601509
Кто б сомневался
2015-03-17 17:11
2015.11.01
Каким НЕ должно быть ПО