![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
В проекте имеется компонент TADOQuery, который через запрос получает определенные данные из БД MSSql.
Данные из Query должны отображаться в TDBGridEh. Но проблема в том что одно текстовое-поле( varchar (мах) ), отображаться в таблице только этим -> (МЕМО) а должен текстом, кот. находится в этом поле... Как можно решить эту проблему? |
|
#2
|
||||
|
||||
|
Если TDBGridEh не умеет отображать данные мемо непосредственно в гриде, то тогда ручками или сделать отдельное окошко под вывод содержимого мемо.
|
|
#3
|
|||
|
|||
|
Цитата:
можно пример!!!! |
|
#4
|
||||
|
||||
|
Можно. Вот что на просторах инета пишут по этому поводу:
Код:
Как показать содержание поля Memo в DBGrid?
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
P : array [0..50] of char; {array size is number of characters needed}
BS : tBlobStream; {from the memo field}
S : String;
begin
If Field is TMemoField then begin
with (Sender as TDBGrid).Canvas do
begin
{Table1Notes is the TMemoField}
BS := tBlobStream.Create(Table1Notes, bmRead);
FillChar(P,SizeOf(P),#0); {terminate the null string}
BS.Read(P, 50); {read 50 chars from memo into blobStream}
BS.Free;
S := StrPas(P);
while Pos(#13, S) > 0 do {remove carriage returns and}
S[Pos(#13, S)] := ' '; {line feeds}
While Pos(#10, S) > 0 do
S[Pos(#10, S)] := ' ';
FillRect(Rect); {clear the cell}
TextOut(Rect.Left, Rect.Top, S); {fill cell with memo data}
end;
end;
end; |
|
#5
|
|||
|
|||
|
ОГРОМНОЕ Спасибо!
|