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

Вниз

Прослема с treeview   Найти похожие ветки 

 
Юлия   (2003-08-30 06:57) [0]

Используется treeview c флагом TVS_CHECKBOXES. Некоторые узлы должны быть программно отмечены (checked). Используется процедура:
Procedure TVSetCheck(Node: TTreeNode);
Var Item: TTVItem;
Begin
With Item Do
Begin
hItem:=Node.ItemId;
mask:=TVIF_STATE;
State:=$2000;
Form1.TreeView1.Perform(TVM_SETITEM,0,Integer(@Item));
End; {With}
End;


Если вызывать процедуру по нажатию какой-нибудь клавиши (например Button1), все работает:

procedure TFReklama.Button3Click(Sender: TObject);
begin
TVSetCheck(treeview1.Items.Item[0]);
end
;

Необходимо то же самое надо сделать при перемещении по таблице:

procedure TFReklama.Table1AfterScroll(DataSet: TDataSet);
begin
TVSetCheck(treeview1.Items.Item[0]);
end;


то рядом с требуемым узлом пропадает CheckBox вообще! Либо, в лучшем случае, ничего не происходит. В худшем, узлы сами по себе размножаются.

Почему так происходит? Какая связь между treeview u table? Как с этим бороться? Может, подскажете обходные пути?


 
Zergling   (2003-08-30 07:37) [1]

>> Какая связь между treeview u table?

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


 
Юлия   (2003-08-30 07:45) [2]

У меня не жесткое соответствие между таблицей и treeview. Точнее, в treeview собираются данные из двух таблиц (в одной - папки, в другой - элементы).
Почему так не работает? Разве Должно иметь значение, откуда вызывается процедура?


 
Zergling   (2003-08-30 07:57) [3]

Тогда меня смущает это:

procedure TFReklama.Table1AfterScroll(DataSet: TDataSet);
begin
TVSetCheck(treeview1.Items.Item[0]);
end;

По какому принципу ты определяещь в какой Item в treeview1 залепить CheckBox. Я подозреваю должно быть так: если некая запись соотвествует некоемуему условию, то отметь CheckBox определенный Item в treeview1. Я верно понял? Если нет, то разжуй подробнее.


 
Song   (2003-08-30 10:17) [4]

Ну и Юлия... :)
http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=di splay;num=1061793430

Стыдитесь, молодой человек, я свой синтаксис отличу легко :)


 
Юлия   (2003-08-31 15:30) [5]

Song:
А чего, собственно, я должна стыдиться? Я же не претендую на то, что это написала я? Именно вы помогли разобраться с компонентом. Или то, что вы подсказали sanik мог испольлзовать только он? Извиняюсь, если так.

Zergling:
Ну это к примеру! Не хотелось вставлять полный текст. Не работает даже в таком виде.


 
Song   (2003-08-31 15:35) [6]

Юлия, извините, конечно, просто первая мысль была, что Юлия - это sanik. К тому же если пример взяли с Sources.ru, чего там же вопрос не стали задавать? А так как sanik - очень линевый молодой человек, которому исключительно нужны только примеры, своими руками у него ничего не получается сделать, то после того как я ему написал последний пример и сказал, что больше не буду, то что он пошёл в другую конференцию после этого - вполне закономерно, да ещё и под другим именем.


 
Юлия   (2003-08-31 15:37) [7]

Ну раз я не sanik, то, может, подскажете? Почему такая ерунда творится?


 
Song   (2003-08-31 15:40) [8]

А почему ты всегда чекаешь только первую ветвь (Items[0]) ?


 
Юлия   (2003-08-31 15:43) [9]

Для проверки. Я же говорю, не охота было весь текст приводить


 
Zergling   (2003-09-01 06:36) [10]

Юлия (31.08.03 15:43) [9]

Вот и приведи весь. А то как мы тебе поможем? Из твоего примера ни чего не ясно. И цель задачи разжуй, как написано выше.



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

Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
8-33691
volodya_
2003-05-14 17:34
2003.09.11
mp3 ->wav и обратно


7-33825
Vladislav
2003-06-27 13:33
2003.09.11
Какие права у текущего пользователя?


14-33747
Герой
2003-08-20 15:38
2003.09.11
эффективная флудилка


14-33771
KSergey
2003-08-22 15:32
2003.09.11
---|Ветка была без названия|---


14-33814
Rouse_
2003-08-22 04:43
2003.09.11
Глюки форума





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский