Текущий архив: 2008.05.04;
Скачать: CL | DM;
Вниз
ячейка в таблице Найти похожие ветки
← →
dizZy (2008-03-31 22:18) [0]я тут пытаюсь написать небольшую БД в turbo delphi 2006.
проблема такая: мне нужно чтобы таблица, которая выводится пользователю на экран, состояла не из обычных полей(строк), а из полей типа memo.
программу пишу на delphi, использую ADO. подскажите плиз как решить эту проблемку..
← →
Ega23 © (2008-03-31 22:52) [1]Берёшь N DBMemo и "вставляешь" их.
← →
dizZy (2008-04-01 21:37) [2]куда вставляешь? в форму? а смысл какой? если моя таблица будет размером например 10х10 то мне придётся 100 dbmemo вставлять??
← →
Ega23 © (2008-04-02 00:20) [3]
> куда вставляешь? в форму? а смысл какой? если моя таблица
> будет размером например 10х10 то мне придётся 100 dbmemo
> вставлять??
Ещё раз, медленно и с подробностями:
1. Какая стоит задача.
2. Какие (на твой взгляд) варианты решения.
← →
Германн © (2008-04-02 01:20) [4]
> мне нужно чтобы таблица, которая выводится пользователю
> на экран, состояла не из обычных полей(строк), а из полей
> типа memo.
Да. Это точно нуждается в переводе на простой и понятный язык.
← →
Смирнов (2008-04-02 07:29) [5]телепатирую:
в Access в таблицах отображаются значения полей с переносом строк, автору так же нужно, подскажите компонент.
← →
ANB (2008-04-02 10:13) [6]EhLib (есть халявый), DevExpress (нету халявы). Штатный ДБГрид такого не умеет, но есть выход : в гриде выводить тока кусочек текста, а на форме/вкладке редактирования уже развернуться во всю ширь.
Да, есть еще DBCtrlGrid, но пользоваться им не очень удобно. Хотя я как то именно на нем в молодости нечто аналогичное забабахал. Даже ресайз колонок прикрутил :)
← →
DIZzY (2008-04-05 01:09) [7]возможно я не очень понятно сформулировал вопрос. попробую еще раз..
я пишу базу данных для моей коллекции дисков. каждый диск пронумерован(маркером по поверхности). на каждый диск записана различная информация(музыка, видео, софт и т д).
мне иногда нужно быстро наити например все диски на которых есть игры..
для этого я нажимаю кнопку "игры" и после этого из основной таблицы(которая содержит номера и описания всех дисков) делается выборка.
это основная идея моеи программы.
проблема в том что описание может содержать много символов(например 200). если таблица состоит из обычных полей-строк, всё описание прочитать будет невозможно(по краинеи мере неудобно).
была у меня мысль поместить в центре экрана матрицу из полей мемо и заполнять ее значениями из таблицы (а таблицу можно было бы прокручивать вверх и вниз).
но подозреваю что если таблица будет большая то прога будет тормозить...да и заполнять матрицу из полей мемо я смутно представляю как...
← →
Германн © (2008-04-05 01:25) [8]
> DIZzY (05.04.08 01:09) [7]
> проблема в том что описание может содержать много символов(например
> 200). если таблица состоит из обычных полей-строк, всё описание
> прочитать будет невозможно(по краинеи мере неудобно).
>
Компонент TDBMemo знаешь? Чем не подходит?
← →
DIZzY (2008-04-05 18:26) [9]или я плохо представляю как работает компонент dbmemo или это не совсем то что мне нужно..скорее всего второе..
я пробовал сделать так:
в ряд ставлю несколько компонентов dbmemo(столько сколько полей у меня в таблице). затем изменяю своиства datafield и datasource каждого из этих компонентов. в результате у меня каждое поле memo отображает соответствующее поле таблицы...
если курсор таблицы меняет переходит на другую строку таблицы(то есть движется вверх или вниз) то мои поля memo отображают информацию из новой текущеи строки.. это все хорошо. я давно пробовал такой способ.
но мне нужно другое.
эти мои компоненты memo отображают только одну(текущую) строку таблицы. а это очень не удобно пользователю. так как удобнее сразу окинуть взглядом часть таблицы и увидель интересующую информацию а не лазить вверх вниз по неи и смотреть все время в memo...
(дополнительные способы поиска тоже предусмотрены но это детали. я говорю здесь только основноую идею программы)
я пытался разместить поля memo не только по горизонтали но и по вертикали. то есть сделать матрицу. но отображаются у меня всё таки только данный из текущеи строки...
может и есть способ отображать содержание не только из текущеи строки таблицы но я его не знаю -(
затем и создал тему на этом форуме..
да и вообще этот способ мне кажется будет тормозной если таблица большая. я рассказал про него только потому что ega23 спросил.
хорошо бы использовать какую нибудь другую идеику..
← →
{RASkov} © (2008-04-05 18:40) [10]> [9] DIZzY (05.04.08 18:26)
TDBCtrlGrid + TDBMemo
← →
Amoeba © (2008-04-05 20:38) [11]
> DIZzY (05.04.08 18:26) [9]
А сразу озвучить свое желание, что, трудно было? Нафига водить народ вокруг да около, чудак человек?
P.S. Кстати, DBGridEh из EhLib - один из вариантов, помимо TDBmemo на TDBCtrlGrid
← →
DIZzY (2008-04-05 21:10) [12]на одном форуме мне тоже посоветовали использовать ctrlgrid. но я что то с ним разобраться никак не мог. хотя книгу у меня несколько десятков и хороших причем. дарахвелидзе например..
везде написано оч мало про этот компонент. в конце концов у меня появилось подозрение что ctrlgrid совсем для других целей... и я стал искать другой способ решить проблему.
нельзя ли подробнее рассказать какие действия нужно совершить? хотя бы в общих чертах...
а что такое ehlib? такой вкладки у меня что то нет, и компонента тоже соответственно..
← →
{RASkov} © (2008-04-05 21:17) [13]> [12] DIZzY (05.04.08 21:10)
object Form1: TForm1
Left = 192
Top = 114
Width = 658
Height = 580
Caption = "Form1"
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = "MS Sans Serif"
Font.Style = []
OldCreateOrder = False
DesignSize = (
650
546)
PixelsPerInch = 96
TextHeight = 13
object DBCtrlGrid1: TDBCtrlGrid
Left = 4
Top = 4
Width = 641
Height = 537
Anchors = [akLeft, akTop, akRight, akBottom]
DataSource = DataSource1
PanelHeight = 179
PanelWidth = 624
TabOrder = 0
object DBMemo1: TDBMemo
Left = 4
Top = 4
Width = 197
Height = 169
DataField = "Category"
DataSource = DataSource1
TabOrder = 0
end
object DBMemo2: TDBMemo
Left = 204
Top = 4
Width = 205
Height = 169
DataField = "Species Name"
DataSource = DataSource1
TabOrder = 1
end
object DBMemo3: TDBMemo
Left = 412
Top = 4
Width = 205
Height = 169
DataField = "Notes"
DataSource = DataSource1
TabOrder = 2
end
end
object DataSource1: TDataSource
DataSet = Table1
Left = 40
Top = 188
end
object Table1: TTable
Active = True
DatabaseName = "DBDEMOS"
TableName = "biolife.db"
Left = 8
Top = 188
end
end
Страницы: 1 вся ветка
Текущий архив: 2008.05.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.005 c