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

Вниз

Отображение длинных текстов в DBGrid   Найти похожие ветки 

 
s_t_d   (2006-06-15 10:37) [0]

Уважаемые мастера, пожалуйста посоветуйте, как быть.
База MS SQL (получена из вне). Одно поле в некоторой таблице объявлено varchar 600. При отображении в DBGrid значения не показываются, а в ячейках стоит "MEMO". С полями меньшей длины, например varchar 50, такого не происходит и в DBGrid все отображается нормально. Что почитать, куду "бежать"?


 
Sergey13 ©   (2006-06-15 10:39) [1]

Поставь рядом с гридом Мемо-контрол и читай там. В гридину можно впихнуть урезанное до разумных пределов поле.


 
s_t_d   (2006-06-15 10:46) [2]

[1] Спасибо, но ведь для формирования запроса я исп. Query и следовательно результирующий набор данных там. Как же в этой связке исп. предложенный Вами Мемо-контрол? Или я чего-то не понимаю?
Пожалуйста проясните, если не трудно.


 
Ega23 ©   (2006-06-15 10:52) [3]


> Уважаемые мастера, пожалуйста посоветуйте, как быть.
> База MS SQL (получена из вне). Одно поле в некоторой таблице
> объявлено varchar 600. При отображении в DBGrid значения
> не показываются, а в ячейках стоит "MEMO". С полями меньшей
> длины, например varchar 50, такого не происходит и в DBGrid
> все отображается нормально. Что почитать, куду "бежать"?
>


Всё, что больше varchar(255) воспринимается как BLOB. Поэтому или меняй размерность поля, или - Sergey13 ©   (15.06.06 10:39) [1]


 
Sergey13 ©   (2006-06-15 10:55) [4]

2[2] s_t_d   (15.06.06 10:46)
Если делать по умному, то в запросе надо запрашивать (помимо остальных нужных) только урезанное поле (как - не знаю для МССКЛ), а все поле вытаскивать по отдельному запросу юзера (типа трафик экономим).
Если делать по быстрому, то можно запросить сразу все поля. Добавить вычисляемое поле на подстроку длинного. Его в грид, само поле в Мемо-контрол.


 
s_t_d   (2006-06-15 10:56) [5]

[3] Менять размерность затруднительно - база не наша, а поступает из вне.
Что характерно, ни одной записи более 100 символов там нет.


 
Sergey13 ©   (2006-06-15 10:57) [6]

2[5] s_t_d   (15.06.06 10:56)
Если так, то делай вариант "по быстрому". 8-)


 
Desdechado ©   (2006-06-15 11:02) [7]

> я исп. Query и следовательно результирующий набор данных там.
> Как же в этой связке исп. предложенный Вами Мемо-контрол?
DBMemo знаешь?


 
MsGuns ©   (2006-06-15 17:27) [8]

Я делаю так:
Для "длинных" колонок есть фича "Открыть окно просмотра" (через экшн, повешенный на пункт пупапменю грида или кнопку панели управления - экшн подымается или опускается в зависимости от тэга TField.Tag, выставленный в 1 в дизайне для "широких" полей). Если юзер ее кликает, то создается форма окно с единственным объектом в нем - TMemo Align := alClient. Форма создается как fsStayOnTop, т.е. она все время наверху и можно ее как переместить в удобное место экрана (например, чтобы открыть интересующую часть грида), так и изменить размеры до удобных. В тэг соответствующей колонки грида записываю указатель на форму. Если юзер форму-мемо прикрывает, то тэг обнуляется.
По событиям датасета AfterScroll/Open делается в цикле просмотр тэгов всех колонок грида и если тэг содержит указатель на форму, в находящейся на ней единственный TControl (то самое мемо) записываю содержимое поля, на которое ссылается колонка грида.
Результат таков: грид "листается" и синхронно с ним меняются данные в формах-полях, кол-во которых зависит от числа "широких" полей и желания пользователя.



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

Форум: "Базы";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
3-1150550005
Проходил мимо
2006-06-17 17:13
2006.08.20
Какую БД лучше использовать (в принципе)???


15-1153387859
Nic
2006-07-20 13:30
2006.08.20
Органайзеры, планировщики


2-1154422393
Nagano
2006-08-01 12:53
2006.08.20
поиск файлов


15-1153419666
Доброже(в|л)атель
2006-07-20 22:21
2006.08.20
Network Boot кто делал? поделитесь опытом!


15-1153979824
Мефисто
2006-07-27 09:57
2006.08.20
Шедеврам программистов посвящается :)





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