Hallo Thomas asp.net,
thanx aber das update habe ich ja mit Eurer Hilfe schon vom Konzept her
begriffen und auch schon in einem vorherigen Beispiel umgesetzt.
Mir gings eher um den Umgang von umfangreichen Spalten ...
Gru� Mansur
>
> in einem script habe ich diese methode zum editieren verwendet.
>
> gru�
>
> thomas
>
>
>
> public void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
> {
> MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
> ShowWarenkorb();
> }
>
> public void MyDataGrid_Cancel(Object sender,
> DataGridCommandEventArgs e)
> {
> MyDataGrid.EditItemIndex = -1;
> ShowWarenkorb();
> }
>
> public void MyDataGrid_Update(Object sender,
> DataGridCommandEventArgs e)
> {
> SqlConnection myConnection = new
> SqlConnection(ConfigurationSettings.AppSettings["weblogxdb"]);
>
> String updateCmd = "UPDATE auftragspos SET
> matnr = @matnr, menge = @menge
> where id = @id";
>
> SqlCommand myCommand = new
> SqlCommand(updateCmd, myConnection);
>
> myCommand.Parameters.Add(new
> SqlParameter("@id", SqlDbType.Int,4));
> myCommand.Parameters.Add(new
> SqlParameter("@matnr", SqlDbType.Char,18));
> myCommand.Parameters.Add(new
> SqlParameter("@menge", SqlDbType.Int,4));
>
> myCommand.Parameters["@id"].Value =
> MyDataGrid.DataKeys[(int)e.Item.ItemIndex];
>
> String[] cols = {"@id","@matnr","@menge"};
>
> int numCols = e.Item.Cells.Count;
> for (int i=2; i<numCols-1; i++) //skip
> first, second and last column
> {
> String colvalue
> =((TextBox)e.Item.Cells[i].Controls[0]).Text;
>
>
>
>
> myCommand.Parameters[cols[i-1]].Value = colvalue;
> }
>
>
> myCommand.Connection.Open();
>
> try
> {
> myCommand.ExecuteNonQuery();
> Message.InnerHtml = "<b>Warenkorb
> aktualisiert</b><br>";
>
> MyDataGrid.EditItemIndex = -1;
>
> }
> catch (SqlException exc)
> {
> if (exc.Number == 2627)
> Message.InnerHtml =
> "FEHLER: Es ist bereits ein Eintrag mit demselben
> Prim�rschl�ssel vorhanden";
> else
> Message.InnerHtml =
> "FEHLER: Datensatz konnte nicht aktualisiert
> werden. Stellen Sie bitte
> sicher, dass alle Felder richtig ausgef�llt
> sind";
> Message.Style["Farbe"] = "red";
> }
>
> myCommand.Connection.Close();
>
>
> ShowWarenkorb();
> }
>
> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]Im Auftrag von Mansur
> Esmann [OM]
> Gesendet: Mittwoch, 17. Juli 2002 17:14
> An: aspDEdotnet
> Betreff: [aspdedotnet] Grunds�tzliche Frage (War DataGrid)
>
>
> Hallo wiedereinmal ....
>
> also ich habe nun mein DataGrid soweit hingekriegt.
> Einziger Schwachpunkt ist der Einsatz von Sessions, um mir die Auswahl im
> Master zu merken. Laufen tuts aber.
> Ich kann nun auch das Editing vom Detail aufrufen (TODO: Update - SQL).
>
> Meine grunds�tzliche Frage ... brauche nen Vorschlag ...
>
> Mein Detail zeigt im Moment nur wenige Spalten der eigentlichen
> Tabelle an.
> Die Tabelle hat einen haufen Spalten (Stammt nicht von mir), von der ich
> eben im Moment nur ein paar anzeigen lasse.
>
> Was kann ich machen, um aber bei einer Bearbeitung alle Spalten
> der Tabelle
> zur Bearbeitung anzeigen lassen zu k�nnen?
> Wahrscheinlich werde ich dann nicht mit der normalen Edit - Funktionalit�t
> arbeiten k�nnen.
>
> Was habt Ihr f�r eine Praxis, wenn Ihr viele Daten aus einem Datensatz
> �ndert wollt?
>
> Gibt es da die M�glichkeit ein Formular mit allen Feldern
> anzugeigen, in dem
> ich dann den ganzen DS bearbeiten kann?
> Wenn ja, kann ich dieses Formular als Zeile innerhalb des
> DataGrid einf�gen
> (So als zwischenzeile)?
>
> Oder wie?
>
> Gru� Mansur
>
| [aspdedotnet] als [email protected] subscribed
| http://www.dotnetgerman.com/archiv/aspdedotnet/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.dotnetgerman.com/listen/aspDEdotnet.asp