Dynamique tablestyles selon le type d'objet


Voici un exemple de l'utilisation de différents TableStyles selon le type de la mesure actuellement sélectionnée & nbsp objet dans un DataGrid. J'ai 2 grilles, chacun accroché à ExpressionHandles. Je veux afficher une des colonnes différentes, selon le type d'objet dans le haut de la grille.
tout d'Abord l'application a besoin de savoir quand un nouvel objet a été sélectionné. Ici un CurrencyManager est accroché. & nbsp dgStock est un DataGrid, ehRoot est un ExpressionHandle contenant le Stock d'objets. & nbsp

privé & nbsp cmStock: CurrencyManager
....
procédure TfrmStock.TfrmStock_Load(sender: Système.Objet e: Système.EventArgs)
begin
& nbsp cmStock := CurrencyManager(dgStock.BindingContext[Self.ehRoot])
& nbsp Inclure(cmStock.PositionChanged, De Soi.StockGridRowChanged)
fin

Puis le code d'événement qui obtient déclenché lorsque le CurrencyManager position est modifiée. & nbsp je revenir en arrière à l'aide de la CurrencyManagerHandle qui est utilisé pour lier les 2 grilles pour récupérer l'objet en cours. J'ai seulement utilisé le CurrencyManager pour m'avertir que le haut de la grille a été modifié.

procédure TfrmStock.StockGridRowChanged(sender: Système.Objet e: Système.EventArgs)
pour commencer... & ! & ! & ! & ! & nbsp si le Stock(cmhStock.De l'élément.AsObject).StockCategory.IsBoot puis
& ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Clair
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsWithSole)
& ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Clair
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsNoSole)
& ! & ! & ! & ! & nbsp fin
fin ...

Pour rendre ce code plus efficace, il est logique de ne modifier le TableStyle si ce n'est pas la TableStyle. Pour ce faire, nous pouvons nous poser la TableStylesCollection si elle contient le nécessaire TableStyle. Cela fonctionne si nous n'en avons jamais eu un TableStyle active à la fois.

begin
& nbsp pnlItems.Visible := true
& nbsp pnlPricing.Visible := true
& nbsp si le Stock(cmhStock.De l'élément.AsObject).StockCategory.IsBoot et non
& ! & ! & ! & nbsp dgStockItems.TableStyles.Contient du(de soi.tsItemsWithSole)
& nbsp commencer
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Clair
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsWithSole)
& nbsp fin
& nbsp else
& nbsp si pas en Stock(cmhStock.De l'élément.AsObject).StockCategory.IsBoot et non
& ! & ! & ! & nbsp dgStockItems.TableStyles.Contient du(de soi.tsItemsNoSole)
& nbsp commencer
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Clair
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsNoSole)
& nbsp fin
fin

j'espère que ce court article est très utile pour les autres.









Dynamique tablestyles selon le type d'objet


Dynamique tablestyles selon le type d'objet : Plusieurs milliers de conseils pour vous faciliter la vie.


Voici un exemple de l'utilisation de differents TableStyles selon le type de la mesure actuellement selectionnee & nbsp objet dans un DataGrid. J'ai 2 grilles, chacun accroche a ExpressionHandles. Je veux afficher une des colonnes differentes, selon le type d'objet dans le haut de la grille.
tout d'Abord l'application a besoin de savoir quand un nouvel objet a ete selectionne. Ici un CurrencyManager est accroche. & nbsp dgStock est un DataGrid, ehRoot est un ExpressionHandle contenant le Stock d'objets. & nbsp

prive & nbsp cmStock: CurrencyManager
....
procedure TfrmStock.TfrmStock_Load(sender: Systeme.Objet e: Systeme.EventArgs)
begin
& nbsp cmStock := CurrencyManager(dgStock.BindingContext[Self.ehRoot])
& nbsp Inclure(cmStock.PositionChanged, De Soi.StockGridRowChanged)
fin

Puis le code d'evenement qui obtient declenche lorsque le CurrencyManager position est modifiee. & nbsp je revenir en arriere a l'aide de la CurrencyManagerHandle qui est utilise pour lier les 2 grilles pour recuperer l'objet en cours. J'ai seulement utilise le CurrencyManager pour m'avertir que le haut de la grille a ete modifie.

procedure TfrmStock.StockGridRowChanged(sender: Systeme.Objet e: Systeme.EventArgs)
pour commencer... & ! & ! & ! & ! & nbsp si le Stock(cmhStock.De l'element.AsObject).StockCategory.IsBoot puis
& ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Clair
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsWithSole)
& ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & nbsp else
& ! & ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Clair
& ! & ! & ! & ! & ! & ! & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsNoSole)
& ! & ! & ! & ! & nbsp fin
fin ...

Pour rendre ce code plus efficace, il est logique de ne modifier le TableStyle si ce n'est pas la TableStyle. Pour ce faire, nous pouvons nous poser la TableStylesCollection si elle contient le necessaire TableStyle. Cela fonctionne si nous n'en avons jamais eu un TableStyle active a la fois.

begin
& nbsp pnlItems.Visible := true
& nbsp pnlPricing.Visible := true
& nbsp si le Stock(cmhStock.De l'element.AsObject).StockCategory.IsBoot et non
& ! & ! & ! & nbsp dgStockItems.TableStyles.Contient du(de soi.tsItemsWithSole)
& nbsp commencer
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Clair
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsWithSole)
& nbsp fin
& nbsp else
& nbsp si pas en Stock(cmhStock.De l'element.AsObject).StockCategory.IsBoot et non
& ! & ! & ! & nbsp dgStockItems.TableStyles.Contient du(de soi.tsItemsNoSole)
& nbsp commencer
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Clair
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Ajouter(de soi.tsItemsNoSole)
& nbsp fin
fin

j'espere que ce court article est tres utile pour les autres.


Dynamique tablestyles selon le type d'objet

Dynamique tablestyles selon le type d'objet : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation