Форум: "Начинающим";
Текущий архив: 2014.03.02;
Скачать: [xml.tar.bz2];
Внизпосоветуйте компонент или др. решение Найти похожие ветки
← →
clix © (2013-05-10 17:14) [0]вобщем есть строки типа (123, ааа, "ббб ввв ггг", 0, "ддд"). нужно отображать только "ааа" и "ддд", но идентификатором тоесть уникальным номером является "123" и его ненужно отображать а поиск и все действия происходят по идентификатору. думал использовать листбокс для вывода а сами строки хранить в стринглисте но тогда нужно нужно каждый раз разбивать строки и искать идентификатор. может кто знает компонент типа listview который просто скрывает необходимые колонки?
← →
Kilkennycat © (2013-05-10 17:25) [1]и в листбоксе и в листвью это можно сделать, и в стринглисте
> просто скрывает необходимые колонки?
а заодно парсит твои строки, реализует механизм поиска...
← →
Kilkennycat © (2013-05-10 17:34) [2]лучше разделить данные от отображения.
создай запись типа:type Taaa = record
index : integer;
value1 : string;
value2 : byte;
....
valueN: string;
end;
объяви массивааа : array of Taaa;
в нем ты хранишь свои строки
после чего в циклеfor i := 0 to High(aaa) do begin
if aaa[i].index = 123 then ...
end;
ты можешь запролнить (отрисовать) что угодно и где угодно
← →
clix © (2013-05-10 17:52) [3]с рекордом неособо знаком... сейчас делаю примерно так; записываю строки с стринглист, комматекст разбивает строку и вывожу в лист бокс нужную часть, затем по нажатияю на строке в листбоксе например, перебераю строки разбивая их комматекст и ищу значение которое в листбоксе и потом уже удаляю эту строку по индексу из листбокса и из листбокса
← →
Kilkennycat © (2013-05-10 18:08) [4]
> с рекордом неособо знаком.
уже знаком. там есть еще вариант packed и с вариантными записями, тут они не требуются.
> записываю строки с стринглист
стринглист - это промежуточное решение, или источник данных? если источник, то как они в нем хранятся, неужели не уже по столбцам?
← →
Kilkennycat © (2013-05-10 18:10) [5]
> с рекордом неособо знаком.
уже знаком. там есть еще вариант packed и с вариантными записями, тут они не требуются.
> записываю строки с стринглист
стринглист - это промежуточное решение, чтобы загрузить из файла?
← →
Kilkennycat © (2013-05-10 18:11) [6]в [4] спутал с стринггрид
← →
clix © (2013-05-10 18:19) [7]в стринглисте строки хранится как есть и добавляются новые постепенно или удалются, берется строка из стринг лист разбивается комматекст и ищется нужное если нету то следующая строка и тд пока ненайдется.
← →
clix © (2013-05-10 18:46) [8]вот и думаю подойдет ли это или медленно будет работать, строк какбы неособо много 150 максимум
← →
Kilkennycat © (2013-05-10 20:20) [9]на 150 строк любое решение будет быстро.
← →
Kilkennycat © (2013-05-10 20:38) [10]т.е. проблема в обратке - понять, какая строка в стринглисте соответствует клику в листбоксе?
возможно, подойдет такой вариант: заполняем итемы листбокса полностью, устанавливаем ему свойство ownerDraw, отрисовку выполняем самостоятельно в ListBoxDrawItem, отфильтровывая ненужное. Это просто, видим что хотим, плюс и цвета какие угодно, в том числе выделения, и по клику мы получаем полную строку. Примеров работы с ListBoxDrawItem мильен.
← →
clix © (2013-05-10 22:04) [11]может в стринглисте каждой строке присваивать рекорд с параметрами??
← →
Kilkennycat © (2013-05-10 23:39) [12]тогда уж лучше http://www.delphibasics.ru/TList.php
← →
Ega23 © (2013-05-10 23:54) [13]
> может в стринглисте каждой строке присваивать рекорд с параметрами?
TStringList.AddObject + F1
← →
Германн © (2013-05-11 03:08) [14]
> clix © (10.05.13 17:14)
>
> вобщем есть строки типа (123, ааа, "ббб ввв ггг", 0, "ддд").
> нужно отображать только "ааа" и "ддд"
Ну так и отображай только их. Что мешает?
Есть событие OnDrawItem.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.03.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c