Ifølge SoftwareOne ligger de reelle AI-gevinster gemt i områder af central betydning for forretningen.
Slettet bruger
16. juli 2006 - 07:25#1
Kommmer noget anpå hvilken kontekst du har når du forsøger på det, men hvis du eksemplevis får en event så som Editing og den er startet i en ItemTemplate hvori din knap sidder så kan du bruger parameteren sender i event metoden på følgende måde:
Control senderControl = sender as Control; ImageButton button = senderControl.parent.FindControl("ImageButton2") as ImageButton;
Humlen er at FindControl fungerer i det NamingContext den bliver kaldt i og din knap vil noget oversimplificeret side i et NamingContext som sådan:
Page::GridView:TemplateField.
Du skal altså sørger for at når du laver en FindControl så gør du det i det NamingContext som din Control kan forventes at være i.
Jep nu kan jeg godt finde den, men jeg kan ikke bruge den fordi den ikke er sat til instans af et andet object ? Hvordan løser jeg det, for jeg kan jo ikke bare skrive new ImageButton ?
protected void GridView2_SelectedIndexChanged(object sender, EventArgs e) { Control senderControl = sender as Control; ImageButton button = senderControl.Parent.FindControl("ImageButton2") as ImageButton; Button.enabled = true;
}
Grunden til at jeg har det sådan er at man skal markere den række man skal bruge før man kan bruge den funktionsknap der hedder imagebutton1. Ellers for man en fejl og for så at minimere antal fejl har jeg gjort sådan at knappen først bliver enabled når man trykker på en række...
Hej det skulle være button med lille ligesom kryptos skriver i det første indlæg.
Koden kan fint komplilere, jeg får bare en fejl så snart jeg trykker på min select knap i gridview'et. Som siger at Object is not set to an instance of a object.
Fint nok - bare Button.enabled er button.Enabled ;o)
Hov ... Denne her kode du har går ikke. Control senderControl = sender as Control; ImageButton button = senderControl.Parent.FindControl("ImageButton2") as ImageButton;
Gør sådan her istedet: GridViewRow row = GridView1.Rows[GridView1.SelectedIndex]; ImageButton imgBtn= row.FindControl("ImageButton2") as ImageButton;
Og så ved jeg jo ikke om du har kaldt dit GridView for GridView1 (det gør designeren bare som default), men hvis du har givet det et andet navn skal du self. skrive det istedet :o) Mvh
Well... formålet med begge løsninger er at få fat i den kontrol der er namingcontainer for den knap du vil have fat i. Namingcontaineren er i forbindelse med knapper i gridview et GridViewRow, og du kan så tage fat i den valget række, og benytte dens FindControl(...) til at få fat i din knap. Havde senderen f.eks. været en anden knap du selv havde sat ind - ville du kunne bruge kryptos løsning (eller noget tilsvarende). Mvh
Jeg venter lige på at kryptos ligger et svar også :D
mvh Brian
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.