Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2015.11.01;
Скачать: [xml.tar.bz2];

Вниз

процедура для 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 вся ветка

Форум: "KOL";
Текущий архив: 2015.11.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.001 c
15-1426154123
K-1000
2015-03-12 12:55
2015.11.01
Чем вы занимались до прихода компьютера/интернета?


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


15-1426768249
Pavelnk
2015-03-19 15:30
2015.11.01
С php на delphi


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский