Тема: Элементы Формы ввода
В форме ввода есть DbGrid, заполняю его в ходе макроса, как задать ширину колонок?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
TechnologiCS → TechnologiCS → Практические приемы работы → Элементы Формы ввода
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
В форме ввода есть DbGrid, заполняю его в ходе макроса, как задать ширину колонок?
Если это наш ICsdnAxDbGrid то у него свойство Columns, на и далее по колонкам.
Только их там создать надо предварительно, а тогда бы вы не прошли мимо этих интерфейсов. Может это что-то другое?
Пишу:
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 - не видны
А хотелось бы, чтобы они были задаваемой ширины.
FRM.c_DbGrid1.Columns.Add(UsrGm.Properties("Name")).Width = 100
Ваша подсказка где искать - помогла
Нашла AutoFitColWidths
Спасибо
Хотя так то проще UsrGM просто на форму положить. Ему при создании вы задаете колонки тоже ведь.
Хотя так то проще UsrGM просто на форму положить. Ему при создании вы задаете колонки тоже ведь.
Да, конечно, но у UsrGM были поля типа идентификатор ( ID ), которые тоже выходили в DbGrid,
Я не знала, как их отключить
Можно просто UsrGm как есть положить на нашу форму ввода. У него вид будет как в ShomModal, только лежать будет на вашей форме. и вы на события от него можете подключиться.
мы же вам высылали кажется демо-ролик по формам ввода для 5.7 делался. Там все показано.
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
Если сделать
I = UsrGM.ShowModal( "asd" )
ТО будет то что вы создали.
А если вместо AxDbGrid использовать AxDbForm то можно UsrGm как есть положить на форму и ничего настраивать не надо. Итак можно с любым нашим модулем сделать.
Оно без разницы конечно, просто так проще значительно :).
Здравствуйте, еще вопрос.
На форме TCSForm не работает команда Call Form.CreateControl("DbGrid", "DbGrid0", "")
Пишет:Control Type not found!
Также, если задавать размеры, тоже ругается.
Так видимо надо
Call Form.CreateControl("AxDbGrid", "DbGrid0", "")
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
TechnologiCS → TechnologiCS → Практические приемы работы → Элементы Формы ввода