Avatar billede dk_zerocool Nybegynder
19. januar 2006 - 11:52 Der er 10 kommentarer og
1 løsning

Inline datagrid editor

Jeg mangler en beskrivelse af hvordan jeg i ASP.NET c# får opbygget et datagrid som er editable (alá excel) ligesom linket herunder, hvor man kan editerer direkte i felterne.

https://sharepointcentral.sharepointsite.com/opencanalcommunity/Lists/SharePoint%20Free%20Source%20Projects/AllItems.aspx?ShowInGrid=True&View=%7BA5A2F6BD%2D9A5A%2D46CC%2D956A%2D63D1C80DE121%7D

Der skal ikke være en edit-knap som jeg har set mange steder på nettet, men kun en update knap i bunden som kan tage alle mine værdier og gemme gem.
Avatar billede dr_chaos Nybegynder
19. januar 2006 - 12:15 #1
du kan måske bruge noget med at du laver et itemtempplate og så viser en tekstboks med teksten og i bunden har du en update knap som gennemløber hele datagriddet og opdatere alle værdier
Avatar billede snepnet Nybegynder
19. januar 2006 - 12:17 #2
du kan bygge det af templatekolonner - og så sørge for at der er tekstbokse i kolonnerne.
mvh
Avatar billede snepnet Nybegynder
19. januar 2006 - 12:18 #3
bruger du version 1.1 eller version 2.0?
mvh
Avatar billede dk_zerocool Nybegynder
19. januar 2006 - 12:23 #4
Ja, det har jeg også fundet en masse tutorials på, men jeg ville gerne se det alá Excel hvor man næsten ser et excelark foran sig når man sidder og retter.
Avatar billede snepnet Nybegynder
19. januar 2006 - 12:23 #5
// her et version 1 eksempel:

f.eks. sådan noget her:

<asp:DataGrid ID="grid" runat="server">
    <Columns>
        <asp:TemplateColumn HeaderText="SomeString">
            <ItemTemplate>
                <asp:TextBox ID="txtSomeString" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "SomeString") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

og i din handler af en updateknap's klik:

foreach(DataGridItem item in grid.Items)
{
  if(item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
  {
    TextBox txtSomeString = item.FindControl("txtSomeString") as TextBox;
    // så har du så teksten i din txtSomeString.Text;
  }
}

mvh
Avatar billede dk_zerocool Nybegynder
19. januar 2006 - 12:23 #6
1.1
Avatar billede snepnet Nybegynder
19. januar 2006 - 12:24 #7
det er et spørgsmål om styling at få det til at ligne excell.... men der er lavet en del implementeringer af den slags, som ligger spredt rundt omkring på nettet.
mvh
Avatar billede dk_zerocool Nybegynder
19. januar 2006 - 12:25 #8
I har vel ikke nogle links til disse implementeringer, måske nogle du/I har erfaringer med.
Avatar billede snepnet Nybegynder
19. januar 2006 - 13:08 #9
De fleste udbydere af control libraries har den slags på programmet, jeg har ikke umiddelbart et link til at en god gratis udgave.

www.infragistics.com
www.telerik.com (har jeg gode erfaringer med)
(der er mange flere...)

men ellers .... det er i bund og grund blot en tabel - og du kan jo lave de styles du vil på kontrollerne - f.eks. får en tekstboks med dette style et og excelagtigt look synes jeg :

.NormalTextBox
{
    font-size: 10px;
    font-family: Verdana;
    background-color: white;
    border-color : #c0c0c0;
    border :  window-inset 1px;
    color : Navy;
    height : 14;   
}

og den kan du så klaske på dine tekstbokse:
<asp:DataGrid ID="grid" runat="server">
    <Columns>
        <asp:TemplateColumn HeaderText="SomeString">
            <ItemTemplate>
                <asp:TextBox ID="txtSomeString" CssClass="NormalTextBox" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "SomeString") %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

mvh
Avatar billede dk_zerocool Nybegynder
16. marts 2006 - 09:36 #10
Jeg har fået lavet en løsning på baggrund af det svar, så smider du ikke lige et svar :)
Avatar billede snepnet Nybegynder
18. marts 2006 - 14:46 #11
kommer her :o)
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