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

Respuesta
 
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: 13
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, 23 visitas)
__________________
La conquista mas grande de un hombre es la conquista de el mismo.
Responder Con Cita
  #2  
Antiguo 04-08-2008
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 248
Poder: 12
waly2k1 Va por buen camino
Sin respuesta

Mirá calogero, yo en un caso similar tenia una griilla y en el evento
onFocusedRecordChanged refrescaba la consulta para cargar los detalles
y no así 2 datasource master/detail. Nose si me explico o si te sirve pero
bueh vale la pena intentarlo. El tema de la barra no es problema salvo
que no te actualicen los datos de la tabla detalles.

Saludos
Responder Con Cita
Respuesta


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 12:45:58.


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