x11 Posted December 3, 2020 Share Posted December 3, 2020 Пользователь может менять ширину заголовка. Но, как я понял, значение свойства FieldsColumn.Width остается то, что я указал в design-time. А как правильно получить значение ширины этой колонки в run-time ? Это нужно для сохранения (при закрытии окна) и восстановления(при показе окна) настроек таблицы. Пока получается только задать значение в run-time в событии OnShow формы. добавил в событие закрытия формы self.ShowToast(vgUser.FieldsColumn.Width.ToString); всегда 250, даже когда я меняю ширину заголовка Quote Link to comment Share on other sites More sharing options...
Sherzod Posted December 3, 2020 Share Posted December 3, 2020 1 hour ago, x11 said: Пользователь может менять ширину заголовка. Но, как я понял, значение свойства FieldsColumn.Width остается то, что я указал в design-time. А как правильно получить значение ширины этой колонки в run-time ? procedure TMainForm.UniDBVerticalTreeGrid1ColumnResize( Sender: TUniBaseDBGridColumn; NewSize: Integer); begin Sender.Width := NewSize end; Quote Link to comment Share on other sites More sharing options...
x11 Posted December 4, 2020 Author Share Posted December 4, 2020 а вы пробовали, у вас получилось? потому что у меня все равно не получается procedure TfmUserInfo.UniFormClose(Sender: TObject; var Action: TCloseAction); begin inherited; UniMainModule.StoreRestore.StorePropertiesToDB(self, vgUser, 'FieldsColumn.Width');// сохоанить ширину self.ShowToast(vgUser.FieldsColumn.Width.ToString); всплывает все время 250, какую бы я ширину колонки не сделал Quote Link to comment Share on other sites More sharing options...
x11 Posted December 4, 2020 Author Share Posted December 4, 2020 В событии "Sender: TUniBaseDBGridColumn" - это то, что на первой картинке. А мне надо то, что на второй картинке Quote Link to comment Share on other sites More sharing options...
x11 Posted December 4, 2020 Author Share Posted December 4, 2020 В общем, пока сделал такой костыль, надеюсь, что разработчики исправят проблему. procedure TfmUserInfo.vgUserColumnResize(Sender: TUniBaseDBGridColumn; NewSize: Integer); begin inherited; if Sender.Index = 0 then vgUser.FieldsColumn.Width := NewSize; end; но это не годится, т.к. если я изменяю ширину второй колонки, то Sender.Index всё равно равен нулю. Другими словами, какую бы из колонок я не менял (ширину), Sender.Index всегда равен нулю. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.