Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Popup com dbgrid

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Popup com dbgrid

    Ola a todos, fiz uma procedure para gerar um menu popup com DBGrid, ja imaginou você com 4 ou mais DbEdit ou Edit tendo que criar um DbGrid para cadas um, então eu fiz essa procedure que funciona assim, voce chama a funcao no form onde deseja e passa os parametros para consulta.

    O Código ficou assim ->

    PROCEDURE

    procedure TFNC.PRC_POP_DbEdit(NQuery: TZQuery; NTabela, NCampo: String;
    Sender: TObject; NGrid: TDBGrid; NDbEdit: TDBEdit; NDataSet: TDataSet;
    NDataSource: TDataSource);

    begin

    NGrid.Left := (Sender as TDBEdit).Left + 8; //(Sender as TDBEdit).Left + 8;
    NGrid.Top := (Sender as TDBEdit).Top + 144;

    //ShowMessage((Sender as TDBEdit).Name);


    NGrid.Height := 170;
    NGrid.Ctl3D := False;
    NGrid.Options := NGrid.Options - [dgEditing,dgTitles,dgIndicator,dgColumnResize,dgTa bs,dgConfirmDelete,dgCancelOnExit];

    NGrid.DataSource := NDataSource;
    NGrid.DataSource.DataSet := NDataSet;
    NGrid.Columns[0].FieldName := NCampo;

    FiltroGrid := NCampo;

    If TDBEdit(Sender).Width < 150 Then
    Begin
    NGrid.Width := 250;
    NGrid.Columns[0].Width := TDBEdit(Sender).Width - MarginLeft;
    End
    Else
    Begin
    NGrid.Width := TDBEdit(Sender).Width;
    NGrid.Columns[0].Width := TDBEdit(Sender).Width - MarginLeft;
    End;


    WITH NQuery Do Begin

    If NDbEdit.Text = '' Then
    Begin
    Close;
    SQL.Clear;
    SQL.Text := 'SELECT * FROM '+ NTabela;
    Open;
    End
    ELSE
    Begin
    Close;
    SQL.Clear;
    SQL.Text := 'SELECT * FROM '+ NTabela + ' WHERE '+ NCampo +' LIKE '+''''+'%'+NDbEdit.Text+'%'+'''';
    Open;
    End;

    If NQuery.RecordCount > 0 Then
    //If Length(NDbEdit.Text) >= 3 Then
    Begin
    NGrid.Visible := True;
    //ShowMessage(NomeCampo);
    End
    Else
    Begin
    NGrid.Visible := False;
    End;

    End;


    end;


    No DbEdit onde vc quer que o popup apareca ficou assim

    procedure TFmCadastroAcervo.DbEditoraChange(Sender: TObject);
    begin
    inherited;

    FNC.PRC_POP_DbEdit(DM.QueryEditora, 'TB_EDITORA', 'EDITORA', Sender, GridPopup, DbEditora, dm.QueryEditora, DM.dsQueryEditora);

    end;

    agora so falta resolver o problema de passagem de parametro no qual eu ainda nao consegui resovler, caso alguem saiba como nos ajudar por favor comente

    procedure TFmCadastroAcervo.GridPopupKeyPress(Sender: TObject;
    var Key: Char);
    begin
    inherited;

    If Key = #13 Then
    Begin
    Key := #0;
    (Sender as TDBEdit).Text := GridPopup.DataSource.DataSet.FieldByName(FNC.Filtr oGrid).AsString;
    GridPopup.Visible := False;
    End;

    end;

  • Font Size
    #2
    cara vejo que esta entrando agora no fórum então seja bem vindo.

    delphi me interesa bastante mas 2 coisas primeiro:

    essas tag de importante é somente para o pessoal da Staff e segundo tu viu onde tu postou?
    nos temos a area de Delphi, que no caso vou mover para lá.

    por favor tenha mais cuidado na próxima vez ok.

    abração se precisar pode me procurar. =]
    Não Acha Estranha Essa Frase:
    Eu Sou Hacker e Uso Windows XP!

    Use Débian, Aprenda Slackware e Brinque Muito Com Back|Track


    Fã ->Nickguitar.dll


    Quer ajudar nossso fórum e não sabe como?
    Então click na imagem e ajude-nos com os links off

    Comment

    X
    Working...
    X