Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism Abfrage bei Delete im Datagrid (https://www.delphipraxis.net/52100-abfrage-bei-delete-im-datagrid.html)

r_kerber 23. Aug 2005 20:18


Abfrage bei Delete im Datagrid
 
Moin moin,

habe in einem asp:Datagrid eine zusättzliche asp:ButtonColumn eingefügt, in der eine Delete-Button angezeigt. Nun soll beim Klicken auf diese Button ein Abfrage-Fenster geöffnet werden. Dazu habe ich im I-Net einen Beispiel-Code gefunden, der allerdings in VB.Net geschrieben ist:
Code:
  Sub dgPopularFAQs_ItemDataBound(sender as Object, e as DataGridItemEventArgs)
    ' First, make sure we're NOT dealing with a Header or Footer row
    If e.Item.ItemType <> ListItemType.Header AND _
         e.Item.ItemType <> ListItemType.Footer then
      'Now, reference the LinkButton control that the Delete ButtonColumn
      'has been rendered to
      Dim deleteButton as LinkButton = e.Item.Cells(0).Controls(0)

      'We can now add the onclick event handler
      deleteButton.Attributes("onclick") = "javascript:return " & _
                 "confirm('Are you sure you want to delete FAQ #" & _
                 DataBinder.Eval(e.Item.DataItem, "FAQID") & "?')"  
    End If
  End Sub
Bisher ist es mir noch nicht gelungen, diesen so in Delphi zu übersetzen, daß er ohne Probleme läuft, hier einer meiner Versuche:
Delphi-Quellcode:
procedure TWebForm1.dgTest_ItemDataBound(sender: System.Object; e: System.Web.UI.WebControls.DataGridItemEventArgs);
var
  bDeleteButton: LinkButton;
begin
    If (e.Item.ItemType = ListItemType.Item) or
       (e.Item.ItemType = ListItemType.AlternatingItem) Then
    begin
//      bDeleteButton := LinkButton.Create;
      bDeleteButton := LinkButton (e.Item.Cells[4].Controls[0]);
      bDeleteButton.Attributes['onclick'] := 'javascript:return ' +
                 'confirm(''Are you sure you want to delete FAQ # ?'');';
    end;
end;
Es erscheint folgende Fehlermeldung:
Zitat:

Beschreibung: Beim Ausführen der aktuellen Webanforderung ist ein unverarbeiteter Fehler aufgetreten. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

Ausnahmedetails: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

Quellfehler:


Zeile 202:// bDeleteButton := LinkButton.Create;
Zeile 203: bDeleteButton := LinkButton (e.Item.Cells[4].Controls[0]);
Zeile 204: bDeleteButton.Attributes['onclick'] := 'javascript:return ' +
Zeile 205: 'confirm(''Are you sure you want to delete FAQ # ?'');';
Zeile 206:// e.Item.Attributes.Add('onclick',


Quelldatei: c:\inetpub\wwwroot\FB_Test\fb_test_seite.pas Zeile: 204

Stapelüberwachung:


[NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.]
System.Web.UI.WebControls.WebControl.get_Attribute s()
fb_test_seite.TWebForm1.dgTest_ItemDataBound(Objec t sender, DataGridItemEventArgs e) in c:\inetpub\wwwroot\FB_Test\fb_test_seite.pas:204
System.Web.UI.WebControls.DataGrid.OnItemDataBound (DataGridItemEventArgs e)
System.Web.UI.WebControls.DataGrid.CreateItem(Int3 2 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource)
System.Web.UI.WebControls.DataGrid.CreateControlHi erarchy(Boolean useDataSource)
System.Web.UI.WebControls.BaseDataList.OnDataBindi ng(EventArgs e)
System.Web.UI.WebControls.BaseDataList.DataBind()
fb_test_seite.TWebForm1.BindGrid() in c:\inetpub\wwwroot\FB_Test\fb_test_seite.pas:289
fb_test_seite.TWebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\FB_Test\fb_test_seite.pas:181
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
ich bin entweder betriebsblind oder zu müde... :oops:

r_kerber 26. Aug 2005 11:10

Re: Abfrage bei Delete im Datagrid
 
Schade noch keine Antwort. Da werde ich diesen Thread mal ganz unauffällig nach oben schubsen... :duck:

MrSpock 27. Aug 2005 21:05

Re: Abfrage bei Delete im Datagrid
 
Hallo Rainer,

tritt der Fehler auch auf, wenn du die Kommentarzeichen vor:

Delphi-Quellcode:
bDeleteButton := LinkButton.Create;
wegnimmst?

r_kerber 28. Aug 2005 14:34

Re: Abfrage bei Delete im Datagrid
 
Zitat:

Zitat von MrSpock
tritt der Fehler auch auf, wenn du die Kommentarzeichen vor:

Delphi-Quellcode:
bDeleteButton := LinkButton.Create;
wegnimmst?

Ja. Die Zeile steht da ja nicht umsonst, habe ich auch ausprobiert. Und ich habe auch bDeleteButton.Attributes['onclick'].Add() ausprobiert...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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