Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism [DataGrid] Bearbeitungs Schaltfläche (https://www.delphipraxis.net/98866-%5Bdatagrid%5D-bearbeitungs-schaltflaeche.html)

Andi1985 3. Sep 2007 09:53


[DataGrid] Bearbeitungs Schaltfläche
 
Zitat:

Die Spalte „Schaltflächen 'Bearbeiten', 'Aktualisieren', 'Abbrechen'“ wird in ASP.NET als „Befehl bearbeiten“ bezeichnet. Mit dieser Spalte können Benutzer Daten in DataGrid-Zeilen direkt bearbeiten. Erstellen Sie hierzu eine Spalte mit der Bezeichnung „Bearbeiten, Aktualisieren, Abbrechen“. Zur Laufzeit bewirkt diese Spalte, dass eine Schaltfläche mit der Beschriftung „Bearbeiten“ angezeigt wird. Wenn der Benutzer auf die Schaltfläche „Bearbeiten“ klickt, werden die Daten der Zeile in Steuerelementen wie Textfeldern angezeigt, die bearbeitet werden können. Die Schaltfläche „Bearbeiten“ wird dann durch die Schaltflächen „Aktualisieren“ und „Abbrechen“ ersetzt.
Dies ist bei mir nicht der Fall bei:
- Borland Developer Studio 2006
- Internet Explorer 6.0
- Mit dem dazugehörigen ASP .NET 1.1 von BDS 2006 glaub ich

Was muss ich tun b.z.w. habe ich vergessen damit nach dem klicken auf der Schaltfläche "Bearbeiten" der Text der Zeile sich in eine
"Bearbeitungszeile" verändert mit den zugehörigen Controls?

Mit folgenden Quellcodezeilen bekomme ich dann sogar nur eine weiße leere Seite:
Delphi-Quellcode:
procedure TWebForm1.DataGrid1_EditCommand(source: System.Object; e: System.Web.UI.WebControls.DataGridCommandEventArgs);
begin
  DataGrid1.EditItemIndex := e.Item.ItemIndex;
  DataGrid1.DataBind;
end;
Und so fülle ich das DataGrid im Page_Load:

Delphi-Quellcode:
var myConnection: OleDbConnection;
    myQuery: OleDbCommand;
    myAdapter: OleDbDataAdapter ;
    sDataBase: string;
    ds: DataSet;
begin
  // TODO: Put user code to initialize the page here
  myConnection := OleDbConnection.Create;
  myQuery := OleDbCommand.Create;
  myAdapter := OleDbDataAdapter.Create;
  ds := dataSet.Create;

  sDataBase := 'test';
  myConnection.ConnectionString := 'Provider=OraOLEDB.Oracle;Data Source=' + sDataBase + ';User Id=test;Password=test;';
  myConnection.Open;

  myQuery.CommandText := 'SELECT * FROM test';

  myQuery.Connection := myConnection;
  myQuery.ExecuteNonQuery;

  myAdapter.SelectCommand := myQuery;
  myAdapter.Fill(ds);

  DataGrid1.DataSource := ds;
  DataGrid1.DataBind;

Andi1985 3. Sep 2007 10:51

Re: [DataGrid] Bearbeitungs Schaltfläche
 
hat sich erledigt , close =)
ich bin so blöd *g*

fly_singapore 3. Sep 2007 13:07

Re: [DataGrid] Bearbeitungs Schaltfläche
 
@Mogtar,

ich habe zufälligerweise ein ähnlich gelagertes Problem. Nur, das ich hier die DB WEB Steuerelemente benutzt habe..
Hier gehts mir einfach darum innerhalb des Grids zu navigieren, also erst einmal nach oben oder unten zu scrollen.
Jedesmal wenn ich auf die Navigationsfläche klicke, verschwindet das Grid. Ich kann also nicht sehen, ob sich der Datencurso verändert hat oder nicht. Hast du eine Lösung?

Ich arbei9te mit der gleichen Umgebunmg wie Du.

Andi1985 3. Sep 2007 13:15

Re: [DataGrid] Bearbeitungs Schaltfläche
 
also bei mir lag es daran das ich die Zeilen ob in einer Funktion hatte...
und diese dann folgendermaßen aufgerufen hatte:

Delphi-Quellcode:
if not Page.IsPostBack then
LoadData(Page);
natürlich muss das ohne der "if not Page.IsPostBack" Zeile sein, da sonst die Daten beim klicken verloren gehen...

ich sag ja, dummer Fehler =)

fly_singapore 3. Sep 2007 13:23

Re: [DataGrid] Bearbeitungs Schaltfläche
 
@Mogtar


bin ich zu blöd für um das zu verstehen...


loaddata kennt Delphi nicht .. oder ist es eine von dir definierte Objecktvariable



HILFE................................

Andi1985 4. Sep 2007 08:46

Re: [DataGrid] Bearbeitungs Schaltfläche
 
Delphi-Quellcode:
procedure TWebForm1.LoadData(sender: Page);
var myConnection: OleDbConnection;
    myQuery: OleDbCommand;
    myAdapter: OleDbDataAdapter ;
    sDataBase: string;
    ds: DataSet;
begin
  // TODO: Put user code to initialize the page here
  myConnection := OleDbConnection.Create;
  myQuery := OleDbCommand.Create;
  myAdapter := OleDbDataAdapter.Create;
  ds := dataSet.Create;

  sDataBase := 'test';
  myConnection.ConnectionString := 'Provider=OraOLEDB.Oracle;Data Source=' + sDataBase + ';User Id=test;Password=test;';
  myConnection.Open;

  myQuery.CommandText := 'SELECT * FROM test';

  myQuery.Connection := myConnection;
  myQuery.ExecuteNonQuery;

  myAdapter.SelectCommand := myQuery;
  myAdapter.Fill(ds);

  DataGrid1.DataSource := ds;
  DataGrid1.DataBind;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz