[asp.net] Gridview selectedvalue uitlezen via template field

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ik heb even een nieuw topic geopend omdat de titel niet meer overeen kwam.

Ik wil graag mijn selected value uitlezen van mijn grid, wat gaat als je een commandField toevoegd aan je grid.
Omdat ik een template field gebruik mag ik geen commandField daarin hangen. Hoe kan ik nu toch die selectedvalue uitlezen?


Ik heb nu:


code:
1
2
3
4
5
6
7
8
<asp:TemplateField>
                    <HeaderTemplate>
                        <asp:ImageButton runat="server" ID="btnProjectDetail" ImageUrl="~/images/search.GIF" OnClick="btnProjectDetail_Click" />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:ImageButton ID="imgBtnSelectDetails" ImageUrl="~/images/search.GIF" runat="server"  OnClick="imgBtnSelectDetails_Select" CommandName="Select" />
                    </ItemTemplate>
                </asp:TemplateField>



en in mijn code behind:


code:
code:
1
2
3
4
5
6
7
8
9
10
11
   protected void imgBtnSelectDetails_Select(object sender, ImageClickEventArgs e)
    {

        string test = gridProjGeagg.SelectedDataKey.ToString();
        Response.Write(gridProjGeagg.SelectedValue.ToString());
    }

 protected void gridProjGeagg_SelectedIndexChanged(object sender, EventArgs e)
    {
        Response.Write(gridProjGeagg.SelectedValue.ToString());
    }



Die eerste Methode die gaat niet goed (hij geeft een null pointer exception).
Als ik echter een CommandField toevoeg en klik daar op de select dan gaat gridProjGeagg_SelectedIndexChanged wel goed.

als ik de image button meteen de gridProjGeagg_SelectedIndexChanged methode aan laat roepen krijg ik wederom een nullpointer exception.

Hoe kan ik via een TemplateField toch een Select uitlaten voeren net als bij een CommandField?
ik kom er echt niet uit.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • RedBeard
  • Registratie: April 2006
  • Niet online
Dit zou werken
code:
1
2
3
4
5
6
7
8
9
10
 <asp:TemplateField HeaderText="MyObject">
                <ItemTemplate>
                    <asp:DropDownList ID="ddlMyObject" runat="server" DataSourceID="MyObjectDataSource"
                        DataTextField="Range" DataValueField="Id"
                        SelectedIndex='<%# GetSelectedMyObject((string)Eval("MyObject")) %>' OnSelectedIndexChanged="ddlMyObject_SelectedIndexChanged"
                        
                        >
                    </asp:DropDownList>
                </ItemTemplate>
            </asp:TemplateField>


code:
1
2
3
4
5
protected void ddlMyObject_SelectedIndexChanged(object sender, EventArgs e)
    {

        this.MyObjectId = Convert.ToInt32(((DropDownList)sender).SelectedItem.Value);
    }


Of begrijp ik nu verkeerd wat je wil bereiken?

I'm not anti-social, I'm just not user friendly


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ja het ging over de selectedIndexchanged van de grid zelf en niet van een dropdownlist.

Het werkt nu echter wel, hoewel ik er niet zeker van ben hoe dat komt...
(misschien kan iemand het me uitleggen...)

ik heb uit de imagebutton het OnClick event weg gehaald en alleen de commandName op "select" gezet.

Nu triggert hij wel het event onIndexChanged en kan ik de selectedValue uitlezen van de gridview.

thx voor de hulp.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:52

gorgi_19

Kruimeltjes zijn weer op :9

Omdat ik een template field gebruik mag ik geen commandField daarin hangen. Hoe kan ik nu toch die selectedvalue uitlezen?
En anders wil findcontrol ook nog wel helpen :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
gorgi_19 schreef op woensdag 07 juni 2006 @ 23:35:
[...]

En anders wil findcontrol ook nog wel helpen :)
FindControl? Die ken ik wel maar ik snap niet hoe dat in dit geval van toepassing zou zijn...

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...