Avatar billede g4nd4lf Nybegynder
28. september 2004 - 09:11 Der er 10 kommentarer og
1 løsning

Redigering af flere poster samtidig

Jeg er ved at lave et vagtsystem og har brug for at have flere rows i et datagrid eller lignende som skal kunne redigeres samtidig... Faktisk skal alle rows redigeres samtidig, hvordan er det muligt?
Avatar billede arne_v Ekspert
28. september 2004 - 09:47 #1
Er det ikke det som DataGrid kan ?
Avatar billede snepnet Nybegynder
28. september 2004 - 10:19 #2
du skal sørge for at bruge templatekolonner istedet, og så i templaten indsætte en tekstboks for redigering.

hvis du bruger visual studio kan du gøre det hele via designeren -> at det bliver skrevet i din aspx-fil, men det kan også uden problemer gøres programmatisk.

hvis du har brug for eksempler eller lignende siger du bare til.

(den indbyggede mulighed for den slags i et datagrid begrænser sig ganske rigtigt til én række ad gangen).

mvh
Avatar billede snepnet Nybegynder
28. september 2004 - 10:30 #3
Du kan lige få et lille eksempel på et datagrid med en templatekolonne der viser en tekstboks der binder til kolonne FldString i datagrundlaget :

<asp:datagrid id="Dg" runat="server" PageSize="20" AllowPaging="True" ShowFooter="True" AllowSorting="True"
    <Columns>
        <asp:TemplateColumn HeaderText="BlahBlah">
            <ItemTemplate>
                <asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FldString") %>'>
                </asp:TextBox>
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:datagrid>

mvh
Avatar billede g4nd4lf Nybegynder
28. september 2004 - 13:19 #4
Hmm, har du andre forslag til hvis man skal have rettet flere rækker af gangen, da en række af gangen ikke er acceptabelt...
Avatar billede g4nd4lf Nybegynder
28. september 2004 - 16:26 #5
Har nu kigget rundt og fundet ud af at jeg nok bare må stille mig tilfreds med en række af gangen...
Jeg vil så høre hvordan man får adgang til de controls der er i rækken man ændrer på før de bliver vist, sådan man kan indstille deres værdier efter de tidligere værdier.
Mit bud var at man kunne få fat i dem på samme måde som i OnUpdate vha.
e.Item.FindControl, men jeg kan ikke få det til at virke... Nogen forslag?
Avatar billede snepnet Nybegynder
28. september 2004 - 17:18 #6
Hvorfor kan du ikke bruge den her.... så er alle rækkerne editerbare ?!?
Skriv lige hvad årsagen er... du kan få alle de forslag du vil.
Avatar billede snepnet Nybegynder
28. september 2004 - 17:20 #7
(med den her mente jeg selvfølgelig det jeg skrev 10:30:52 :o)
Avatar billede g4nd4lf Nybegynder
28. september 2004 - 17:36 #8
Ups den havde jeg ikke lige set, det ser ud som en plan, men hvordan får man så adgang til de enkle rækker, er der et event som bliver kørt for hver række eller noget? Altså når man skal opdaterer databasen med de nye værdier....
Avatar billede snepnet Nybegynder
28. september 2004 - 17:44 #9
der fyres ikke automatisk noget når du redigerer i tekstboksene, men hvis du har en opdatér knap på siden kan du i handleren løbe det hele igennem og hente de tekster du er interesseret i, med noget i denne stil :

foreach(DataGridItem dgi in this.DataGrid1)
{
  // snup teksten fra den tekstboks der var i den template jeg sendte
  string someText = ((TextBox)dgi.FindControls("TextBox1")).Text;
}
Avatar billede g4nd4lf Nybegynder
28. september 2004 - 23:25 #10
Så fik jeg det til at virke, men du havde lige lavet en enkelt stavefejl i din kode, det var dgi.FindControl og ikke dgi.FindControls som du havde skrevet, men tak for hjælpen, vil gerne acceptere dit svar, hvis du indsender som svar...
Avatar billede snepnet Nybegynder
28. september 2004 - 23:29 #11
det må du undskylde.... du skriver bare hvis der er flere ting der driller.
mvh
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