---
title: "onitemdatabound"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/87825-onitemdatabound"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "andreas_lindh"
published: "2003-10-06T15:31:04.000Z"
updated: "2003-10-06T16:28:05.000Z"
replies: 2
views: 218
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/87825-onitemdatabound"
---

# onitemdatabound

## #1 — andreas_lindh, 2003-10-06T15:31Z

jag har en datagrid med en itemtemplate

```
<asp:datagrid id="dgATeam" runat="server" gridlines="None" showfooter="False" showheader="False" borderwidth="0" datakeyfield="id" onitemdatabound="DgADatabind" autogeneratecolumns="False">
  <columns>
    <asp:templatecolumn>
      <itemtemplate>
        <asp:table id="tblAPlayer" runat="server" width="100%">
          <asp:tablerow>
            <asp:tablecell width="40px">
              <asp:textbox width="35px" runat="server" id="tbANumber" text='<%# DataBinder.Eval(Container, "DataItem.nummer") %>' /><%# DataBinder.Eval(Container, "DataItem.femma") %> <%# DataBinder.Eval(Container, "DataItem.spelarID") %>
            </asp:tablecell>
            <asp:tablecell width="160px">
              <asp:dropdownlist id="ddlAPlayer" runat="server" datasource='<%# BindPlayers() %>' datatextfield="spelarID" datavaluefield="spelarID" /><asp:textbox id="lblAPlayer" runat="server" style="visibility:hidden;width:10px;" text='<%# DataBinder.Eval(Container, "DataItem.SpelarID") %>' />
            </asp:tablecell>
            <asp:tablecell width="20px">
              <asp:checkbox id="ckxAC" runat="server" checked='<%# checked(DataBinder.Eval(Container, "DataItem.c")) %>' visible='<%# vis(DataBinder.Eval(Container, "DataItem.position")) %>' />
            </asp:tablecell>
            <asp:tablecell width="20px">
              <asp:checkbox id="ckxAA" runat="server" checked='<%# checked(DataBinder.Eval(Container, "DataItem.a")) %>'  visible='<%# vis(DataBinder.Eval(Container, "DataItem.position")) %>' />
            </asp:tablecell>
          </asp:tablerow>
        </asp:table>
      </itemtemplate>
    </asp:templatecolumn>
  </columns>
</asp:datagrid>
```

Till den har jag en sub som körs vid onitemdatabound.

```
Dim strPlayer As String
    Public Sub DgADatabind(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
        If e.Item.ItemType = ListItemType.Item Then
            strPlayer = CType(e.Item.FindControl("lblAPlayer"), TextBox).Text
            Dim myDropdown As DropDownList
            myDropdown = CType(e.Item.FindControl("ddlAPlayer"), DropDownList)
            myDropdown.DataBind()
            myDropdown.Items.Add(New ListItem(" - ", "0"))
            myDropdown.SelectedIndex = myDropdown.Items.IndexOf(myDropdown.Items.FindByValue(strPlayer))
        End If
    End Sub
```

Problmet är att den bara körs på varannan post.
Någon som vet hur jag ska göra så att den körs på varje post?

Permalänk: https://www.webforum.nu/p/87825

## #2 — Engine^, 2003-10-06T15:58Z

Det kanske är så att det alltid kommer en ListItemType.AlternatingItem för DataGridItemEventArgs, men det låter skumt om du nu inte har angivit någon sådan, men det kanske är lösningen...

```
If e.Item.ItemType = ListItemType.Item [b]Or e.Item.ItemType = ListItemType.AlertnatingItem[/b] Then
```

Det är ju bara att testa ;)

Permalänk: https://www.webforum.nu/p/1178721

## #3 — andreas_lindh, 2003-10-06T16:28Z

Tack :) . 
Det fungerar med e.Item.ItemType = ListItemType.AlternatingItem

Permalänk: https://www.webforum.nu/p/1178759

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/87825-onitemdatabound
