Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В одной колонке два поля? [D6, dBase, FoxPro]


Barmalej ©   (2002-11-04 12:52:00) 

Мастера подскажите, можно ли в DBGrid в одну колонкувставить два поля, если Dataset - Table? Если можно, то как? (В designtime).
Пример: Два поля "Фамилия"и "Имя Отчество", как сделать, чтобы в DBGrid в колонке отображалось "Фамилия"+" "+"Имя Отчество".
С помощью Query получается а с Table никак.
И ещё, если такое возможно, как соединить поля типа Число+Строка+"/"+Число.


Barmalej   (2002-11-04 14:11:00) [1]

Всё предельно ясно спасибо.


myor   (2002-11-04 13:06:00) [2]

колонка отображает одно поле таблицы. если хочешь вывести "новое" поле, сначала создай его. конечно query позволяет это сделать, на то он и запрос.
можешь попробовать так:
значению колонки грида "фамилия" присвоить значение колонки грида "фамилия" + значение колонки грида "имя_отчество"
fields[1].value:=fields[1].value+fields[2].value
ну а колонку "имя_отчество" скрываешь за ненадобностью.
а число+строка+число- преобразуй число в строку и работай со строками:
inttostr(firstnumber)+mystring+"\"+inttostr(secondnumber).


MsGuns   (2002-11-04 13:00:00) [3]

Создай поле Calculated, а потом в событии OnCalcFields делай
tb.FieldByName("ClcFld").AsString := tb.FieldByName("FldFIO").AsString+" "+tb.FieldByName("FldName").AsString+" "+ tb.FieldByName("FldName2").AsString;

Только это поле, ессно, нельзя редактировать.

Есть и другой способ, для которого не надо вообще исскуственных полей. Поставь для поля FIO обработчие OnGetText, и в нем в переменную Text занаси то же выражение, что и в предыдущем абзаце


Наверх

Титульная страница Поиск, карта сайта Написать письмо