Avatar billede c-sharp Nybegynder
09. marts 2006 - 12:46 Der er 10 kommentarer og
1 løsning

Sætte en tekstbox i et gridview

Er det ikke muligt at indsætte en tekstbox i et gridview? Jeg bruger gridview til at liste en indkøbskurv, det skal derfor være muligt at ændre antal for hver vare og opdater dette så det bliver gemt, men jeg kan ikke finde ud af at indsætte en tekstbox i mit gridview.

eks:

<asp:GridView
                ID="CartGrid"
                AutoGenerateColumns="false"
                DataKeyNames="ID"
                OnSelectedIndexChanged="RemoveCartItem"
                CellPadding="5"
                Width="400"
                Runat="Server">
                <Columns>
                //Dette skal være en tekst boks
                <asp:BoundField
                    DataField="Quantity"
                    HeaderText="Antal" />
                <asp:BoundField

                      .........
Avatar billede dr_chaos Nybegynder
09. marts 2006 - 12:57 #1
asp:GridView
                ID="CartGrid"
                AutoGenerateColumns="false"
                DataKeyNames="ID"
                OnSelectedIndexChanged="RemoveCartItem"
                CellPadding="5"
                Width="400"
                Runat="Server">
                <Columns>
                <templatefield>
<itemtemplate><asp:textBox id="txt" runat="Server"></asp:textbox> </itemtemplate>

</templatefield>
Avatar billede dr_chaos Nybegynder
09. marts 2006 - 12:58 #2
kan være stave fejl :)
Avatar billede c-sharp Nybegynder
09. marts 2006 - 14:00 #3
Det er super, den kom til at se ud som følger:

                <asp:TemplateField HeaderText="Antal">
                    <ItemTemplate>                       
                        <asp:textBox
                            id="txt"
                            Text='<%# DataBinder.Eval(Container.DataItem, "Quantity")%>' 
                            Style="width: 30px"
                            runat="Server">
                        </asp:textbox>
                    </ItemTemplate> 
                </asp:templatefield>

Er der nogen nem måde at gemme den rettede værdie i tekstfeltet, eller skal jeg gennemløbe hele gridview'en og rette hver post i "kurven"?
Avatar billede dr_chaos Nybegynder
09. marts 2006 - 14:11 #4
Lav en ekstra column på dit gridview :

<asp:GridView ID="testGridView" runat="server" OnRowCommand="Grd_RowCommand">
    <Columns>
    <asp:ButtonField ButtonType="Button" Text="Opdater" CommandName="OpdaterAntal" />
    </Columns>
   
   
    </asp:GridView>


protected void Grd_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "OpdaterAntal")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = testGridView.Rows[index];
            //hent din data ud fra row.
            //f.eks.
            TextBox txt =  row.Cells[intpådincellemedtextbox].FindControl("DinTextBox") as TextBox;
            //opdater antal i indkøbslisten
        }
    }
Avatar billede c-sharp Nybegynder
09. marts 2006 - 14:41 #5
Så bliver der vel en knap for hver post? Kan man ikke bare lave en knap til alle poster?
Avatar billede dr_chaos Nybegynder
09. marts 2006 - 14:44 #6
så skal du lave en i bunden af gridviewet evt i den celle du placerer efter din totalbeløb celle.
Avatar billede dr_chaos Nybegynder
09. marts 2006 - 16:54 #7
lav en knap i footeren
Avatar billede c-sharp Nybegynder
10. marts 2006 - 14:04 #8
Så bliver jeg vel også nødtil at løbe hele gridview'et igennem kontrollere alle felter for om de er blevet rettet?
Avatar billede dr_chaos Nybegynder
10. marts 2006 - 14:06 #9
ja
Avatar billede c-sharp Nybegynder
22. marts 2006 - 09:03 #10
tak for hjælpen, smid et svar så er der point
Avatar billede dr_chaos Nybegynder
22. marts 2006 - 10:02 #11
svar :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester