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

Вниз

ячейка в таблице   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.01 c
2-1207594006
Nemeziz
2008-04-07 22:46
2008.05.04
Запрет на выбор IITEMS в ComboBox


15-1205919660
Empleado
2008-03-19 12:41
2008.05.04
Три закона А. Кларка


2-1207560786
Ri2008
2008-04-07 13:33
2008.05.04
Странная ошибка


2-1207590779
иван8511
2008-04-07 21:52
2008.05.04
Перемещение курсора в компоненте Edit


15-1206439260
KSergey
2008-03-25 13:01
2008.05.04
Отрисовка курсора в Windows





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