Avatar billede torbenmelander Nybegynder
24. maj 2003 - 23:32 Der er 4 kommentarer og
1 løsning

DataGrid - ændre felt på column

Kan man ændre det datafelt en kolone bruger i sin code-behind. Altså ændre denne linie:

<%# DataBinder.Eval(Container.DataItem,"fldCount").ToString() %>

Her er et eksempel på hele griden:

<asp:Panel id="Panel6" runat="server">
<DIV align="center"><asp:DataGrid id="oDataGrid6" runat="server" AutoGenerateColumns="False" DataKeyField="fldID" CellPadding="3" GridLines="Vertical" Width="408" BorderWidth="0px" BackColor="White" CssClass="">
        <AlternatingItemStyle></AlternatingItemStyle>
        <SelectedItemStyle></SelectedItemStyle>
        <FooterStyle ForeColor="#FFFFFF" BackColor="#096BFF" />
        <HeaderStyle Font-Bold="True" ForeColor="#FFFFFF" BackColor="#8B9EBE" />
        <ItemStyle BackColor="#F7F8F9" />
        <Columns>
            <asp:TemplateColumn>
                <HeaderTemplate>
                    <asp:Label runat="server" ForeColor="#FFFFFF"><b>Host name</b></asp:Label>
                </HeaderTemplate>
                <ItemStyle VerticalAlign="Top"></ItemStyle>
                <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem,"fldHostName") %>
                </ItemTemplate>
            </asp:TemplateColumn>
            <asp:TemplateColumn>
                <HeaderTemplate>
                    <asp:Label runat="server" ForeColor="#FFFFFF"><b>Count</b></asp:Label>
                </HeaderTemplate>
                <ItemStyle VerticalAlign="Top"></ItemStyle>
                <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem,"fldCount").ToString() %>
                </ItemTemplate>
            </asp:TemplateColumn>
        </Columns>
    </asp:DataGrid>
    <P>&nbsp;</P>
</DIV>
</asp:Panel>
Avatar billede odegaard Nybegynder
25. maj 2003 - 09:00 #1
Ja åben din texteditor og ret det :-)
Indsæt istedet en asp:Literal og så indsæt værdien fra dit OnItemDataBound event. Så kan du blot skifte værdi her istedet.
Avatar billede torbenmelander Nybegynder
25. maj 2003 - 09:01 #2
Kan du visse lidt kode på det ?
Avatar billede odegaard Nybegynder
25. maj 2003 - 09:12 #3
I det her eksempel er det godt nok en Repeater inden i en repeater, som  binder data til, men princippet er det samme for literals.
http://www.eksperten.dk/spm/245879
Istedet for at pille ved den nestede repeater, gør vi således:

If not CType(e.Item.ItemType, ListItemType) = ListItemType.Item and not CType(e.Item.ItemType, ListItemType) = ListItemType.AlternatingItem Then
        Exit Sub
End If
Dim lit as Literal = cType(e.Item.FindControl("myLit"),Literal)
lit.Text = "Mit andet data"
Avatar billede torbenmelander Nybegynder
25. maj 2003 - 09:14 #4
Jeg bliver nødt til at smutte nu, men kigger på det i aften ... Tak for hjælpen indtil nu ...
Avatar billede torbenmelander Nybegynder
25. maj 2003 - 21:50 #5
Tak for hjælpen
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

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