![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
колонки в DB гриде ???
Slawik © (2001-12-26 11:12:00)Подскажите кто сталкивался, как можо организовать несколько колонок в ДБ гриде (может компонент какой есть).
Смысл задачи в том, что есть узкая (2 поля, одно 10 симв, второе 3 симв) таблица, и для наглядности желательно отображать данные не в одну колонку, а внесколько с форматированием каждой строки в зависимости от признака.
Belov (2001-12-28 12:01:00) [1]Кликни два раза на компоненте (TQuery или TTable)
добавть туда все поля и опиши методы
var
TxtStr: String;
.....
procedue Query1Твое_поле_2.GetText
begin
TxtStr:=Query1Твое_поле_2.AsString;
end;
procedure Query1Твое_поле_1.SetText
begin
Query1Твое_поле_1.AsString:=Query1Твое_поле_1.AsString + TxtStr
end
вроде бы так
попробуй потестируй
точность не гарантирую
Slawik (2001-12-28 11:14:00) [2]StringGrid это хорошо, но я только для примера написал что записи выводятся по 10, на самом деле их может быть переменное количество, в зависимости от высоты.
а по сути если я не ошибаюсь, StringGrid почти такой же грид как и DB в смысле навигации.
неужени нет средств (компонентов) отображения данных в таком виде, таблица будет небольшой около 200 - 300 записей, поэтому загнать её в память проблем не составит.
Станислав (2001-12-28 10:34:00) [3]Я думаю лучше всего использовать запрос, а дальше заполнять
StringGrid. Разрисовать его заголовок в OnDataCell и вперед.
Получаешь кол-во строк в наборе и расчитываешь сколько строк и двойных колонок тебе нужно. Быстрота работы зависит от компа и кол-ва строк.
Slawik (2001-12-28 10:00:00) [4]Может есть у кого еще какие-нибуть соображения или мысли?
Turalyon (2001-12-26 13:42:00) [5]ИМХО при любом раскладе придется почти все делать ручками.
А с отслеживанием скроллинга проблем нет. Метод AfterScroll на Query или Table (в зависимости от того чем ты пользуешься). Далее если у тебя высота DBGrid-ов фиксированная то и смотри что и куда скролируется, только все равно проблеммы будут с переходом с одного на другой (Grid)...
Можно предложить использовать простой StringGird читать всю информацию из таблицы в память и дальше смотреть как что отображать... но тоже гемороя много...
Slawik (2001-12-26 11:58:00) [6]в два грида конечно интересно, но как отслеживать скролинг и взаимодействие гридов, по идее его нужно оставлять только в последнем (в примере колонка 2)
Фе (2001-12-26 11:50:00) [7]В две руки (два грида)
Turalyon (2001-12-26 11:48:00) [8]Так как ты хочешь по моему никак, по крайней не с DBGrid.
Slawik (2001-12-26 11:41:00) [9]Спасибо что откликнулись, что то действительно я не очень понятно обьяснился: попытка №2 -
есть набор данных например из 30 записей, мне нужно чтобы в окне выводилсь они следующим образом:
1колонка 2колонка
1 поле 2 поле |1поле 2поле
1 запись |11 --------
2 ------ |12 --------
--//-- | --//--
10 ----- |20 запись
Примерно так, в какойто степени аналог отображения файлов в фаре
Фе (2001-12-26 11:30:00) [10]А в чем проблема ?
Число колонок определяется:
- DataSet;
- редактром полей грида;
- редактором полей DataSet;
плюс управление видимостью
Turalyon (2001-12-26 11:27:00) [11]Хм.. Правый клик на DBGrid -> Column Editor -> Add New
Поконкретней пожалуйста что тебе надо???? Или может я что не так понял.