Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2007
calogero calogero is offline
Miembro
 
Registrado: oct 2006
Ubicación: Los Mochis, Sinaloa, México
Posts: 76
Poder: 18
calogero Va por buen camino
TCxGrid, OnGetGridView

Hola, que tal:


Estoy trabajando con un componente que se llama cxGrid, en el cual tengo dos niveles cada nivel con un dbTable, y un nivel dentro del otro, en pocas palabras es un maestro detalle les paso el siguiente codigo:

Este codigo lo bajé de esta página: https://www.devexpress.com/Support/C...3-52dd97577823
el archivo se llama:
dxKB_388.zip


Código:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit,
  cxGridCustomTableView, cxGridTableView, cxClasses, cxControls,
  cxGridCustomView, cxGridLevel, cxGrid, cxDataStorage;

const
  CM_GETGRIDVIEW = WM_USER + 1;

type
  TForm1 = class(TForm)
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGrid1Level2: TcxGridLevel;
    cxGrid1TableView1: TcxGridTableView;
    cxGrid1TableView1Column1: TcxGridColumn;
    cxGrid1TableView1Column2: TcxGridColumn;
    cxGrid1TableView1Column3: TcxGridColumn;
    cxGrid1TableView2: TcxGridTableView;
    cxGrid1TableView2Column1: TcxGridColumn;
    cxGrid1TableView2Column2: TcxGridColumn;
    procedure FormCreate(Sender: TObject);
    procedure cxGrid1Level2GetGridView(Sender: TcxGridLevel;
      AMasterRecord: TcxCustomGridRecord;
      var AGridView: TcxCustomGridView);
  private
    procedure CmGetGridView(var Msg: TMessage); message CM_GETGRIDVIEW;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
begin
  with cxGrid1TableView1 do
  begin
    for I := 0 to DataController.ItemCount - 1 do
      Items[i].DataBinding.ValueTypeClass := TcxStringValueType;
    DataController.RecordCount := 2;
    DataController.Values[0, 0] := 'Value 0';
    DataController.Values[0, 1] := 'Value 0 Column 1';
    DataController.Values[0, 2] := 'Value 0 Column 2';
    DataController.Values[1, 0] := 'Value 1';
    DataController.Values[1, 1] := 'Value 1 Column 1';
    DataController.Values[1, 2] := 'Value 1 Column 2';
  end;

  with cxGrid1TableView2 do
    for I := 0 to DataController.ItemCount - 1 do
      Items[i].DataBinding.ValueTypeClass := TcxStringValueType;
end;

procedure TForm1.cxGrid1Level2GetGridView(Sender: TcxGridLevel;
  AMasterRecord: TcxCustomGridRecord; var AGridView: TcxCustomGridView);
begin
  PostMessage(handle, CM_GETGRIDVIEW, Integer(AMasterREcord), Integer
(AGridView));
end; procedure TForm1.CmGetGridView(var Msg: TMessage); var I, J: Integer; AMasterRecord: TcxCustomGridRecord; AGridView: TcxGridTableView; AClone: TcxCustomGridView; begin if not ((TObject(Msg.WParam) is TcxCustomGridRecord) and (TObject
(Msg.LParam) is TcxGridTableView)) then
Exit; AMasterRecord := TcxCustomGridRecord(Msg.WParam); AGridView := TcxGridTableView(Msg.LParam); AClone := AGridView.Clones[AGridView.CloneCount - 1]; AClone.BeginUpdate; try with AClone.DataController do begin RecordCount := (AMasterRecord.Index + 1) * 5; for I := 0 to RecordCount - 1 do for J := 0 to AGridView.ColumnCount - 1 do if J = 0 then Values[I, J] := 'Value ' + IntToStr(AMasterRecord.Index) else Values[I, J] := Format('Value %d Record %d Column %d',
AMasterRecord.Index, I, J])
end finally AClone.EndUpdate; end; end; end.

Si abren este codigo en delphi y establecen las siguientes propiedades del grid:

Align: alNone
Width: 300

y ejecutan el codigo, al abrir uno de los dos gridview maestro, se darán cuenta que si usan la barra de desplazamiento horizontal perteneciente al cxgrid principal y no al gridview detalle o al gridview maestro solo se moverá o desplazará hacia los lados el gridview maestro pero no el gridview detalle.

¿ Cómo puedo hacer para que se desplacen los dos al mismo tiempo el maestro y el detalle ?

Si alguien tiene alguna sugerencia agradezco su ayuda, o si alguien sabe algún mejor modo de hacerlo.
Archivos Adjuntos
Tipo de Archivo: zip dxKB_388[OnGetGridView].zip (3,0 KB, 24 visitas)
__________________
La conquista mas grande de un hombre es la conquista de el mismo.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Componente TcxGrid de DevExpress analiafer1979 Varios 1 21-09-2006 22:15:06
Componente TcxGrid en español.... Sinaloense OOP 4 26-10-2004 19:10:53
Escribir en filas/columnas de un TcxGrid de DevExpress verm83 Varios 0 03-05-2004 14:15:07


La franja horaria es GMT +2. Ahora son las 17:22:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi