5 / 3 / 3
Регистрация: 29.05.2012
Сообщений: 328

ширина столбца

17.11.2013, 13:35. Показов 1098. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите как подогнать ширину столбца в зависимости и введенных данных в него. использую бд акссес
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2013, 13:35
Ответы с готовыми решениями:

Сделать, чтобы добавление происходило по номеру столбца, и номер столбца был переменной
ADOQuery1.SQL.Add('INSERT INTO main(fio,pol) VALUES(''Кравчук Иван Иванович'',''мужской'')'); Как сделать, чтобы добавление...

Ширина столбцов
Здравствуйте в моей программе при запуске в главной таблице dbgrid столбцы широкие надо уменьшить я посмотрел в интернете и потом в columns...

Ширина столбцов в dbgrid
Добрый день! Подскажите, как сделать так, чтобы ширина столбцов в DBGrid автоматически подгонялась при маленьком экране и развернутом?

3
 Аватар для HyperZen
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
17.11.2013, 16:00
Ширину столбца компонента TDBGrid?
Пользуйтесь поиском (код взят откуда-то с форума):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
procedure DBGridEx_SetColumnOnDataWidth(gr: TDBGrid);
// подгонка ширины колонок  DBGrid под максимальную ширину содержимого поля
var
  FieldWidth,i :integer; // длина текущего значения поля (в пикселах)
  ds :TDataSet; // датасет отображаемый в гриде (рабочий датасет)
  dsC: TADODataSet; // копия рабочего датасета
  arMaxLength : array of integer; // массив в котором хранятся длины колонок (в пикселах)
  fnt : TFont;
  fld :TField;
const
  defborder = 5; // промежуток между ячейками грида
begin
  // установить длину массива = к-ву колонок сетки
  SetLength(arMaxLength,gr.Columns.Count);
 
  // заполнить массив исходными значениями длин колонок сетки
  //исходная длина полей = длине наименования колонки
  for i := Low(arMaxLength) to High(arMaxLength) do
    begin
     // установить фонт канвы = фонту строки заголовка колонки для корректного определения ширины теста
     gr.Canvas.Font := gr.Columns[i].Title.Font;
     arMaxLength[i] := gr.Canvas.TextWidth(gr.Columns[i].Title.Caption) + defborder;
    end;
 
  // если датасет открыт - определить ширину колонок
  if (gr.DataSource <> nil) and (gr.DataSource.DataSet.Active) then
    begin
     ds := gr.DataSource.DataSet;
     // создать копию рабочего датасета
     dsC := TADODataSet.Create(nil);
     dsC.Clone(TADODataset(ds));
     dsC.First;
     while not dsC.eof do
       begin
        for i := Low(arMaxLength) to High(arMaxLength) do
          begin
           // установить фонт канвы = фонту колонки для корректного определения ширины теста
           gr.Canvas.Font := gr.Columns[i].Font;
           // определить максимальную длину значения в каждой колонке датасета
           fld := dsC.FindField(gr.Columns[i].FieldName);
           FieldWidth := gr.Canvas.TextWidth(Trim(fld.DisplayText)) + defborder;
           if arMaxLength[i] < FieldWidth  then
              arMaxLength[i] := FieldWidth;
          end;
        dsC.Next;
       end;
    end;
 
  // установить в гриде длины колонок
  for i := Low(arMaxLength) to High(arMaxLength) do
     gr.Columns[i].Width := arMaxLength[i];
 
  dsC.Free;
  arMaxLength := nil;
end;
1
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 75
18.11.2013, 13:13
А какой компонент ты используешь?
0
5 / 3 / 3
Регистрация: 29.05.2012
Сообщений: 328
18.11.2013, 18:34  [ТС]
DBGrid
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2013, 18:34
Помогаю со студенческими работами здесь

Ширина колонок произвольно меняется
Вывожу sql выборку из Access mdb через ADO в TDBGrid. Считываю ширину первых колонок, получаю: qry2.Fields.Fields.DisplayWidth = 29, 9,...

Ширина поля по его содержимому
Как в DBGrid установить ширину поля по ширине его содержимого?

DBGrid и ширина столбца
Привет, заметил что при создании нового столбца в таблице (access) DBGrid делает очень большую ширину созданного столбца. Можно как-то...

DBGrid и ширина столбца
Привет, уже весь интернет перерыл, но так и не нашел ответ на вопрос. Есть форма, в которой лежит DBGrid - который отображает данные из...

StringGrid and FixCol / ширина первого столбца /
Кто нибудь знает, как в StringGrid сделать ширину первого (фиксированного) столбца шире всех остальных. Если изменять, то изменяется во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru