Тема: Элементы Формы ввода

В форме ввода есть DbGrid, заполняю его в ходе макроса, как задать ширину колонок?

Re: Элементы Формы ввода

Если это наш ICsdnAxDbGrid то у него свойство Columns, на и далее по колонкам.

Только их там создать надо предварительно, а тогда бы вы не прошли мимо этих интерфейсов. Может это что-то другое?

Re: Элементы Формы ввода

Пишу:
      FRM.c_DbGrid1.DataSource = UsrGM
      Call FRM.c_DbGrid1.Columns.Clear
      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Name"))
      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Status"))
      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Data_Create"))
      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Dat_Nac"))

Все колонки одной ширины, поэтому 2 - видны, 2 - не видны
А хотелось бы, чтобы они были задаваемой ширины.

Re: Элементы Формы ввода

 FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Name")).Width = 100
Спасибо сказали: Евсеева Людмила1

Re: Элементы Формы ввода

Ваша подсказка где искать - помогла

Нашла AutoFitColWidths

Спасибо

Re: Элементы Формы ввода

Хотя так то проще UsrGM просто на форму положить. Ему при создании вы задаете колонки тоже ведь.

Re: Элементы Формы ввода

Олег Зырянов пишет:

Хотя так то проще UsrGM просто на форму положить. Ему при создании вы задаете колонки тоже ведь.

Да, конечно, но у UsrGM были поля типа идентификатор ( ID ), которые тоже выходили в DbGrid,
Я не знала, как их отключить

Re: Элементы Формы ввода

Можно просто UsrGm как есть положить на нашу форму ввода. У него вид будет как в ShomModal, только лежать будет на вашей форме. и вы на события от него можете подключиться.

мы же вам высылали кажется демо-ролик по формам ввода для 5.7 делался. Там все показано.

Re: Элементы Формы ввода

Set UsrGm = TCSApp.CreateUserGModule( "FirstModule" )
   Call UsrGm.ClearProps
   Call UsrGm.ClearScripCommands
   UsrGm.ReadOnlyUserMode = False
   Call UsrGm.AddProp( "Ver_ID", "Версия", CSDN_Const.ptString, False, True, 0 )
   Call UsrGm.AddProp( "NAME", "Обозначение", CSDN_Const.ptString, True, True, 60 )
   Call UsrGm.AddProp( "STATUS", "Состояние", CSDN_Const.ptString, True, True, 40 )
   Call UsrGm.AddProp( "Data_Create", "Дата создания", CSDN_Const.ptString, True, True, 40 )
   Call UsrGm.AddProp( "Dat_Nac", "Дата начала", CSDN_Const.ptString, True, True, 40 )
   Call UsrGm.CancelChanges

.  .  .  .  .  ...

      FRM.c_DbGrid1.DataSource = UsrGM
'      Call FRM.c_DbGrid1.Columns.Clear
'      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Name"))
'      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Status"))
'      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Data_Create"))
'      Call FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Dat_Nac"))
      FRM.c_DbGrid1.AutoFitColWidths = True

FRM.ShowModal

'   Отображаются все колонки

Версия    Обозначение        Состояние    Дата создания   Дата начала
139128    13701,0369-2013 Активно(Утв  19,06,2013
125925    1                           В архиве        09,09,2011
128098    6501,0897-2013   В архиве        07,09,2011

Re: Элементы Формы ввода

Если сделать

I = UsrGM.ShowModal( "asd" )

ТО будет то что вы создали.

А если вместо AxDbGrid использовать AxDbForm то можно UsrGm как есть положить на форму и ничего настраивать не надо. Итак можно с любым  нашим модулем сделать.

Оно без разницы конечно, просто так проще значительно smile.

Re: Элементы Формы ввода

Здравствуйте, еще вопрос.
На форме TCSForm не работает команда Call Form.CreateControl("DbGrid", "DbGrid0", "")
Пишет:Control Type not found!
Также, если задавать размеры, тоже ругается.

Re: Элементы Формы ввода

Так видимо надо

Call Form.CreateControl("AxDbGrid", "DbGrid0", "")