Как можно программно изменить свойства компанента?
Options [dgEditing] на true, если оно было false;
Код типа:
DBGrid->Options->dgEditing=true не работает.
Так же не работет код типа:
DBGrid->Options=[dgEditing];
Как можно например нажав на кнопочку в программе, изменить свойства компанента DBGrid
Options [dgEditing] на true, если оно было false;
Код типа:
DBGrid->Options->dgEditing=true не работает.
Так же не работет код типа:
DBGrid->Options=[dgEditing];
Попробуй
DBGrid->Options = DBGrid->Options << dgEditing;
И смотри справку по классу Set, с помощь него реализовано много чего
и Font->Style, и Form->Anchors (кажется) и т.п.
Попробуй
DBGrid->Options = DBGrid->Options << dgEditing;
И смотри справку по классу Set, с помощь него реализовано много чего
и Font->Style, и Form->Anchors (кажется) и т.п.
А что означает знак <<? Я пробовал, все скомпилирвалось, но Editing все равно как был false так и остался. :(
А что означает знак <<? Я пробовал, все скомпилирвалось, но Editing все равно как был false так и остался. :(
Вообще-то << это оператор побитового сдвига к старшему разряду, но в классе Set он переопределен и испольщуется как оператор класса. Класс Set реализует набор неких флагов и для из установки используется этот оператор.
Например стобы выставить свойства шрифта жирный и курсив надо сделать Font->Style = TFontStyles() << fsBold << fsItalic
У грида еще есть свойство ReadOnly, такое же у DataSet, так что если не редактируется таблица они тоже могут быть виноваты
Вообще-то << это оператор побитового сдвига к старшему разряду, но в классе Set он переопределен и испольщуется как оператор класса. Класс Set реализует набор неких флагов и для из установки используется этот оператор.
Например стобы выставить свойства шрифта жирный и курсив надо сделать Font->Style = TFontStyles() << fsBold << fsItalic
У грида еще есть свойство ReadOnly, такое же у DataSet, так что если не редактируется таблица они тоже могут быть виноваты
Ну в данном случае используется какая-то функция TFontStyles(), а какая функция может использоваться там?
Ну в данном случае используется какая-то функция TFontStyles(), а какая функция может использоваться там?
TFontStyles() Это конструктор класса TFontStyles
производного от Set, а DBGrid->Options имеет тип
TDBGridOptions, тоже производный от Set
pecifies various display and behavioral properties of the data-aware grid.
enum TDBGridOption { dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit,dgMultiSelect };
typedef Set<TDBGridOption, dgEditing, dgMultiSelect> TDBGridOptions;
__property TDBGridOptions Options = {read=FOptions, write=SetOptions, default=3325};
Description
Set Options to include the desired properties for the data-aware grid. Options is a set drawn from the following values:
...
TFontStyles() Это конструктор класса TFontStyles
производного от Set, а DBGrid->Options имеет тип
TDBGridOptions, тоже производный от Set
pecifies various display and behavioral properties of the data-aware grid.
enum TDBGridOption { dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit,dgMultiSelect };
typedef Set<TDBGridOption, dgEditing, dgMultiSelect> TDBGridOptions;
__property TDBGridOptions Options = {read=FOptions, write=SetOptions, default=3325};
Description
Set Options to include the desired properties for the data-aware grid. Options is a set drawn from the following values:
...
Во, клева, заработало, спасиба :)
Во, клева, заработало, спасиба :)
Так хоть я следил за темой, но не понял как всё-таки заработало? У меня тоже
DBGrid->Options = DBGrid->Options << dgEditing;
ни хрена не даёт. Помогите объясните.
Кто поможет тому стишок подкину
Так хоть я следил за темой, но не понял как всё-таки заработало? У меня тоже
DBGrid->Options = DBGrid->Options << dgEditing;
ни хрена не даёт. Помогите объясните.
Кто поможет тому стишок подкину
Если ты стишки пишешь как хелпы читаешь - то лучше не надо.
Если ты стишки пишешь как хелпы читаешь - то лучше не надо.
да , только не работает те только это но и другие попытки (1,2,3,4) - вот полный код с закомментированными попытками:
void __fastcall TNastr::DBNClick(TObject *Sender, TNavigateBtn Button)
{ int i;
switch (Button) {
case nbInsert:
m_sbjkd++;
DM->ADOQ1->Fields->Fields[0]->Value=m_sbjkd; break;
//1// DBG1->Options = TDBGridOptions() << dgEditing;
//2// DBG1->Options = TDBGridOptions(DBG1->Options) >> dgRowSelect << dgEditing;
//DBG1->Options = DBG1->Options + TDBGridOptions() << dgEditing;
//3//DBG1->Options = DBG1->Options << dgEditing;
//3// DBG1->Options= TDBGridOptions()<<dgAlwaysShowEditor<<dgTitles<<dgIndicator<<dgColumnResize<<dgColLines<<dgRowLines<<dgTabs<<dgConfirmDelete<<dgCancelOnExit<<dgEditing<<dgAlwaysShowEditor;
DBG1->Refresh();
default: AddLBT();
}
}