ASP.Net GridView Spalten auslesen



  • Hallo Forum

    ich arbeite ziemlich neu mit ASP.Net. Ich habe ein GridView erstellt und es an ein Datenobjekt aus dem SQL Server gebunden. Funktioniert bis hierhin auch wunderbar, meine Daten aus der Datenbank werden alle angezeigt. Nun habe ich allerdings 2 Spalten, in denen Links zu Dokumenten drin stehen. Diese Links möchte ich gerne, wenn der Benutzer darauf klickt, auswerten und das Dokument anzeigen. Bis hierhin bin ich gekommen:

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
    
                string szSelectedLink = GridView1.Rows[GridView1.SelectedIndex].Cells[4].Text;
    
            }
    

    Das funktioniert auch. Allerdings muss ich da die Spalte jetzt hardkodiert angeben, sprich ich kann nur eine Spalte auswerten, die andere Spalte mit Links geht nicht da ich ja auch nur ein SelectedIndexChangedEvent habe. Die beiden Spalten habe ich als ButtonField deklariert (mit Hilfe des ASP.Net Designers). Ist denn meine Herangehensweise richtig oder muss ich das ganz anders machen? Und wie kann ich auf verschiedene Spalten reagieren?

    Bin für jeden Hinweis dankbar!



  • Hallo,

    Du brauchst das Event gar nicht. Der Button hat die Eigenschaften 'ComamndEvent' und 'CommandValue' (oder so ähnlich). Da gibst du die Methode und Paramater an, wenn der Benutzer da drauf klickt.



  • O.k., ein Problem habe ich bereits gelöst:

    string szSelectedLink2 = GridView1.SelectedValue.ToString();
    

    Damit kann ich direkt den Wert der Tabelle an der Stelle row[x].cell[y] auslesen. Allerdings funktioniert das nur, wenn ich nur eine Spalte in meinem GridView habe. Sobald ich mehrere Spalten habe die das können sollen geht es nicht mehr.

    @JockelX: Ich erstelle meine Spalten mit Hilfe des Designers. Da kann ich immer nur die ganze Spalte bearbeiten, nicht die einzelnen Buttons einer Spalte. Ich kann unter Eigenschaften->Verhalten->CommandName einen Namen angeben, aber das wars. Ich weiß halt leider nicht wie ich das selbst codieren kann, wie gesagt, ich bin Neuling unter asp.net. Das geht sicher auch "von Hand" und wahrscheinlich besser. Hast du mir da einen Tipp?



  • Ich muss meinen letzten Beitrag revidieren. Mit

    string szSelectedLink2 = GridView1.SelectedValue.ToString();
    

    nimmt er automatisch die erste Spalte und deren Werte. Das ist ja nicht das was ich will. Also bin ich doch wieder am Anfang.


Anmelden zum Antworten