Dinámica tablestyles basado en el tipo de objeto


este es un ejemplo de la utilización de diferentes TableStyles dependiendo del tipo de la que está seleccionada actualmente & nbsp objeto en un DataGrid. Tengo 2 cuadrículas, cada uno conectado a ExpressionHandles. Quiero mostrar un conjunto diferente de columnas, dependiendo del tipo de objeto en la parte superior de la cuadrícula.
en primer lugar, la necesidad de la aplicación para saber cuando un nuevo objeto ha sido seleccionado. Aquí un CurrencyManager es estar conectado. & nbsp dgStock es un DataGrid, ehRoot es un ExpressionHandle que contiene la bolsa de objetos. & nbsp

privado & nbsp cmStock: CurrencyManager
....
procedimiento TfrmStock.TfrmStock_Load(sender: Sistema.Objeto e: Sistema.EventArgs)
begin
& nbsp cmStock := CurrencyManager(dgStock.BindingContext[Auto.ehRoot])
& nbsp Incluyen(cmStock.PositionChanged, Auto.StockGridRowChanged)
fin

a Continuación, el código de evento que despiden cuando el objeto CurrencyManager que se cambia la posición. & nbsp puedo volver a usar el CurrencyManagerHandle que se utiliza para vincular el 2 rejillas para recuperar el objeto actual. Solo he usado el objeto CurrencyManager para avisarme de que la parte superior de la cuadrícula ha cambiado.

procedimiento TfrmStock.StockGridRowChanged(sender: Sistema.Objeto e: Sistema.EventArgs)
empezar... & nbsp & nbsp & nbsp & nbsp & nbsp si el Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot, a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsWithSole)
& nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsNoSole)
& nbsp & nbsp & nbsp & nbsp & nbsp final
final ...

Para que este código sea más eficiente, tiene sentido sólo cambiar el TableStyle si no es el actual TableStyle. Para ello, podemos hacer que el TableStylesCollection si éste contenga la TableStyle. Esto funciona si tenemos sólo una TableStyle activas al mismo tiempo.

begin
& nbsp pnlItems.Visible := true
& nbsp pnlPricing.Visible := true
& nbsp si el Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot y no
& nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Contiene(auto.tsItemsWithSole), a continuación,
& nbsp empezar
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsWithSole)
& nbsp final
& nbsp else
& nbsp si no Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot y no
& nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Contiene(auto.tsItemsNoSole), a continuación,
& nbsp empezar
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsNoSole)
& nbsp final
fin

espero que este breve artículo es útil para los demás.









Dinamica tablestyles basado en el tipo de objeto


Dinamica tablestyles basado en el tipo de objeto : Multi-millones de consejos para hacer su vida mas facil.


este es un ejemplo de la utilizacion de diferentes TableStyles dependiendo del tipo de la que esta seleccionada actualmente & nbsp objeto en un DataGrid. Tengo 2 cuadriculas, cada uno conectado a ExpressionHandles. Quiero mostrar un conjunto diferente de columnas, dependiendo del tipo de objeto en la parte superior de la cuadricula.
en primer lugar, la necesidad de la aplicacion para saber cuando un nuevo objeto ha sido seleccionado. Aqui un CurrencyManager es estar conectado. & nbsp dgStock es un DataGrid, ehRoot es un ExpressionHandle que contiene la bolsa de objetos. & nbsp

privado & nbsp cmStock: CurrencyManager
....
procedimiento TfrmStock.TfrmStock_Load(sender: Sistema.Objeto e: Sistema.EventArgs)
begin
& nbsp cmStock := CurrencyManager(dgStock.BindingContext[Auto.ehRoot])
& nbsp Incluyen(cmStock.PositionChanged, Auto.StockGridRowChanged)
fin

a Continuacion, el codigo de evento que despiden cuando el objeto CurrencyManager que se cambia la posicion. & nbsp puedo volver a usar el CurrencyManagerHandle que se utiliza para vincular el 2 rejillas para recuperar el objeto actual. Solo he usado el objeto CurrencyManager para avisarme de que la parte superior de la cuadricula ha cambiado.

procedimiento TfrmStock.StockGridRowChanged(sender: Sistema.Objeto e: Sistema.EventArgs)
empezar... & nbsp & nbsp & nbsp & nbsp & nbsp si el Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot, a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsWithSole)
& nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsNoSole)
& nbsp & nbsp & nbsp & nbsp & nbsp final
final ...

Para que este codigo sea mas eficiente, tiene sentido solo cambiar el TableStyle si no es el actual TableStyle. Para ello, podemos hacer que el TableStylesCollection si este contenga la TableStyle. Esto funciona si tenemos solo una TableStyle activas al mismo tiempo.

begin
& nbsp pnlItems.Visible := true
& nbsp pnlPricing.Visible := true
& nbsp si el Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot y no
& nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Contiene(auto.tsItemsWithSole), a continuacion,
& nbsp empezar
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsWithSole)
& nbsp final
& nbsp else
& nbsp si no Stock(cmhStock.Elemento.AsObject).StockCategory.IsBoot y no
& nbsp & nbsp & nbsp & nbsp dgStockItems.TableStyles.Contiene(auto.tsItemsNoSole), a continuacion,
& nbsp empezar
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Claro
& nbsp & nbsp & nbsp dgStockItems.TableStyles.Add(self.tsItemsNoSole)
& nbsp final
fin

espero que este breve articulo es util para los demas.


Dinámica tablestyles basado en el tipo de objeto

Dinámica tablestyles basado en el tipo de objeto : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación