DBGrid Optionen ändern



  • Hi ...

    Ich habe mal ne schnelle Frage.

    Ich habe ein DBGrid Feld und habe im Builder RowSelect auf true gesetzt.

    Nun möchte ich aber während der Laufzeit, das RowSelect kurzzeitig deaktivieren, aber ich bekomme es nicht hin.

    habe es mit

    DBGrid1->Options->dgPowSelect = false;
    

    versucht, aber da meckert er rum (Zeiger auf linker Seite von -> oder von ->* erforderlich.

    Ich denke mal der Fehler kommt, weil dgRowSelect keine Methode ist.

    Kann mir einer sagen, wie ich es richtig mache ??



  • Ich weiß nicht ob es in der Hilfe dazu tatsächlich etwas gibt, aber schau mal nach Sets...

    Müßte so in die Richtung

    DBGrid1->Options = DBGrid1->Options >> dgPowSelect;
    

    gehen.



  • mhh habs noch net rausgefunden. Hab mal nach Sets gesucht und dabei bin ich auf Contains gestoßen.

    DBGrid1->Options.Contains(dgRowSelect);
    

    weiss aber noch nicht wie ich das true / false setze ....

    mfg
    evilempire



  • bisschen kompliziert und sieht irgendwie chinesisch aus, aber funzt ...

    if (DBGrid1->Options.Contains(dgRowSelect))
    
        DBGrid1->Options = TDBGridOptions(DBGrid1->Options) >> dgRowSelect;
    
      else
    
        DBGrid1->Options = TDBGridOptions(DBGrid1->Options) << dgRowSelect;
    

    mfg
    evilempire



  • evilempire81 schrieb:

    bisschen kompliziert und sieht irgendwie chinesisch aus, aber funzt ...

    if (DBGrid1->Options.Contains(dgRowSelect))
    
        DBGrid1->Options = TDBGridOptions(DBGrid1->Options) >> dgRowSelect;
    
      else
    
        DBGrid1->Options = TDBGridOptions(DBGrid1->Options) << dgRowSelect;
    

    mfg
    evilempire

    Hallo

    dafür habe ich mir ein Template für alle (auch eigenen) Sets geschrieben :

    // Template zum Invertieren einer Option in einem Set
      template<typename SetType, typename ValueType>
      SetType InvertSetOption(SetType Set, ValueType Value)
      {
        SetType Temp;                         // Temporäre Variable zum Berechnen
        SetType Result;                       // Rückgabeergebnis
        Temp << Value;                        // Zu invertierenden Wert aufnehmen
        Result = ((Set + Temp) - (Set * Temp)); // Option in Set invertieren
        return(Result);                       // neuen Zustand der Option zurückgeben  
        }
    
    // Benutzen :
    DBGrid1->Options = InvertSetOption<>(DBGrid1->Options, dgRowSelect);
    

    // Edit : Benutzung berichtigt

    bis bald
    akari



  • ahhh das schaut natürlich auch gut aus .... DANKE DANKE ....

    mfg
    evilempire


Log in to reply