AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datagrid

Ein Thema von HomerGER · begonnen am 25. Jul 2005 · letzter Beitrag vom 26. Jul 2005
 
Benutzerbild von HomerGER
HomerGER

Registriert seit: 8. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#7

Re: Datagrid

  Alt 26. Jul 2005, 07:33
ich glaube nicht das ich werte dranhänge

hier mal ein bisschen Code

Ich habe eine Parent Form
hier wird bei OnLoad
das ausgeführt
Delphi-Quellcode:
Procedure Medien_DA_Erzeugen_DBC();
var
sel_s : String;
upd_cmd : OleDbCommand;
upd_par : OleDbParameter;
ins_cmd : OleDbCommand;
ins_par : OleDbParameter;
del_cmd : OleDbCommand;
del_par : OleDbParameter;
begin

//Select
  //Select String
  sel_s := 'SELECT * FROM GFC_Medien';

  //Daten aus der DB holen
  g_c_medien_da := OleDbDataAdapter.Create(sel_s, gf_conn);

//Update
  //Update Command
  upd_cmd := OleDbCommand.Create();
  upd_cmd.CommandType := CommandType.StoredProcedure;
  upd_cmd.CommandText := 'GFC_M_UPDATE';
  upd_cmd.Connection := gf_conn;

  upd_cmd.Parameters.Clear;
  upd_cmd.Parameters.Add('@GFC_M_NAME', OleDbType.VarWChar, 100, 'GFC_M_NAME');
  upd_cmd.Parameters.Add('@GFC_M_AKTIV', OleDbType.Boolean, 1, 'GFC_M_AKTIV');
  upd_cmd.Parameters.Add('@GFC_M_OUT', OleDbType.Boolean, 1, 'GFC_M_OUT');
  upd_cmd.Parameters.Add('@GFC_M_USER_NAME', OleDbType.VarWChar, 50, 'GFC_M_USER_NAME');
  upd_cmd.Parameters.Add('@GFC_M_USER_TXT', OleDbType.LongVarWChar, 16, 'GFC_M_USER_TXT');
  upd_cmd.Parameters.Add('@GFC_M_USER_DATE', OleDbType.DBTimeStamp, 4, 'GFC_M_USER_DATE');

  upd_par := upd_cmd.Parameters.Add('@ID', OleDbType.Integer);
  upd_par.SourceColumn := 'ID';
  upd_par.SourceVersion := DataRowVersion.Current;

//Insert
  //Insert Command
  ins_cmd := OleDbCommand.Create();
  ins_cmd.CommandType := CommandType.StoredProcedure;
  ins_cmd.CommandText := 'GFC_M_INSERT';
  ins_cmd.Connection := gf_conn;

  ins_cmd.Parameters.Clear;
  ins_cmd.Parameters.Add('@GFC_M_NAME', OleDbType.VarWChar, 100, 'GFC_M_NAME');
  ins_cmd.Parameters.Add('@GFC_M_AKTIV', OleDbType.Boolean, 1, 'GFC_M_AKTIV');
  ins_cmd.Parameters.Add('@GFC_M_OUT', OleDbType.Boolean, 1, 'GFC_M_OUT');
  ins_cmd.Parameters.Add('@GFC_M_USER_NAME', OleDbType.VarWChar, 50, 'GFC_M_USER_NAME');
  ins_cmd.Parameters.Add('@GFC_M_USER_TXT', OleDbType.LongVarWChar, 16, 'GFC_M_USER_TXT');
  ins_cmd.Parameters.Add('@GFC_M_USER_DATE', OleDbType.DBTimeStamp, 4, 'GFC_M_USER_DATE');

  ins_par := ins_cmd.Parameters.Add('@Identity', OleDbType.Integer, 4, 'ID');
  ins_par.Direction := System.Data.ParameterDirection.Output;
  ins_par.SourceColumn := 'ID';
  ins_par.SourceVersion := DataRowVersion.Current;

//Delete
  //Delete Command
  del_cmd := OleDbCommand.Create();
  del_cmd.CommandType := CommandType.StoredProcedure;
  del_cmd.CommandText := 'GFC_M_DELETE';
  del_cmd.Connection := gf_conn;

  del_cmd.Parameters.Clear;
  del_par := del_cmd.Parameters.Add('@ID', OleDbType.Integer, 4, 'ID');
  del_par.SourceColumn := 'ID';
  del_par.SourceVersion := DataRowVersion.Original;

  //Commands übergeben
  g_c_medien_da.UpdateCommand := upd_cmd;
  g_c_medien_da.InsertCommand := ins_cmd;
  g_c_medien_da.DeleteCommand := del_cmd;

  //Daten ins Dataset
  gf_conn.Open;
  g_c_medien_da.Fill(g_c_dataset_ds, 'GFC_Medien');
  gf_conn.Close;

  //DataTable laden
  g_c_medien_dt := g_c_dataset_ds.Tables['GFC_Medien'];
end;
in der Mdi Form
als erstes alle Mdi Form close
dann auch hier im OnLoad
Delphi-Quellcode:
Procedure DataGrid1_Binden_C1();
var
style1 : DataGridTableStyle;
textboxcol1 : DataGridTextBoxColumn;
textboxcol2 : DataGridTextBoxColumn;
textboxcol3 : DataGridTextBoxColumn;
textboxcol4 : DataGridTextBoxColumn;
begin
  //DataGrid löschen
  C1.DataGrid1.DataSource := NIL;
  C1.DataGrid1.DataBindings.Clear;

  //Style1 erzeugen
  style1 := DataGridTableStyle.Create;
  style1.MappingName := 'GFC_Medien';
  style1.RowHeaderWidth := 10;

  //Style1 Farbe
  style1.AlternatingBackColor := System.Drawing.Color.LightSteelBlue;

  //TextCol1 GFC_M_ID
  textboxcol1 := DataGridTextBoxColumn.Create;
  textboxcol1.MappingName := 'GFC_M_ID';
  textboxcol1.HeaderText := 'Nr.';
  textboxcol1.Width := 50;

  //TextCol2 GFC_M_NAME
  textboxcol2 := DataGridTextBoxColumn.Create;
  textboxcol2.MappingName := 'GFC_M_NAME';
  textboxcol2.HeaderText := 'Name';
  textboxcol2.Width := 300;

  //TextCol3 GFC_M_USER_NAME
  textboxcol3 := DataGridTextBoxColumn.Create;
  textboxcol3.MappingName := 'GFC_M_USER_NAME';
  textboxcol3.HeaderText := 'geändert von';
  textboxcol3.Width := 200;

  //TextCol4 GFC_M_USER_DATE
  textboxcol4 := DataGridTextBoxColumn.Create;
  textboxcol4.MappingName := 'GFC_M_USER_DATE';
  textboxcol4.HeaderText := 'geändert am';
  textboxcol4.Width := 120;

  //Zum Style hinzufügen
  style1.GridColumnStyles.Clear;
  style1.GridColumnStyles.Add(textboxcol1);
  style1.GridColumnStyles.Add(textboxcol2);
  style1.GridColumnStyles.Add(textboxcol3);
  style1.GridColumnStyles.Add(textboxcol4);

  //Style DataGrid übergeben
  C1.DataGrid1.TableStyles.Clear;
  C1.DataGrid1.TableStyles.Add(style1);

  //Daten übergeben
  C1.DataGrid1.DataSource := g_c_medien_dt; <---------------------------

wenn ich jetzt das erstmal die Mdi öffne, ist alles Ok, es stehen im Datagrid 10 datensätze
schliesse ich sie wieder und öffne sie neu, stehen im DataGrid jetzt 20 datensätze
beim nächsten öfnen 30 usw.

er hängt immer wieder nur die datensätze an das Grid an
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz