---
title: "Checkbox i datagrid"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/88170-checkbox-i-datagrid"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "aleborg"
published: "2003-10-10T12:47:31.000Z"
updated: "2003-10-11T13:37:23.000Z"
replies: 7
views: 335
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/88170-checkbox-i-datagrid"
---

# Checkbox i datagrid

## #1 — aleborg, 2003-10-10T12:47Z

Jag har en datagrid med en checkbox på varje rad och försöker att få OnCheckedChanged att fungera

```
<asp:datagrid id="gridFolderList" CssClass="table_600_Grey" Runat="server" AutoGenerateColumns="False" DataKeyField="FPath">
<Columns>
...
<asp:TemplateColumn HeaderText="R">
<ItemTemplate>
<asp:CheckBox id="Fread" runat="server" OnCheckedChanged="Fread_oncheckedchanged" AutoPostBack="True"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
...
</Columns>
</asp:datagrid>
```

```
		public void Fread_oncheckedchanged(object sender, DataGridItemEventArgs e)
		{
			CheckBox cb = (CheckBox)sender;
			Response.Write(e.Item.ItemIndex);
		}
```

Men får felet
CS0123: Method 'WebCreSiterWeb.user.tools_file_manager.Fread_oncheckedchanged(object, System.Web.UI.WebControls.DataGridItemEventArgs)' does not match delegate 'void System.EventHandler(object, System.EventArgs)'

Vad gör jag fel?

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

## #2 — Engine^, 2003-10-10T13:11Z

Byt från DataGridItemEventArgs e till EventArgs e.

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

## #3 — Dino, 2003-10-10T13:12Z

Re: Checkbox i datagrid

DataGridItemEventArgs är för datagriden, ckeckboxen har endast EventArgs och därifrån kan du inte få fram DataGridens  e.Item.ItemIndex.

```
public void Fread_oncheckedchanged(object sender, EventArgs e)
{
   CheckBox cb = (CheckBox)sender;
   if(cb.Checked){
      Response.Write(cb.ID);
   } 
}
```

red// en minut för sen :)

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

## #4 — aleborg, 2003-10-10T13:16Z

Problemet är att jag måste ha fram den i public void Fread_oncheckedchanged, det är tack vare den som jag vet vad som har kryssats i och ska ändras i den framtida koden!

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

## #5 — aleborg, 2003-10-11T11:58Z

någon?

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

## #6 — m_soderlund, 2003-10-11T12:43Z

Jag tycker att koden ser korrekt ut, men måste fråga om du har testat med att sätta AutoPostBack = "False" i checkboxen? Jag har haft lite problem med just AutoPostBack och har löst det genom att sätta värdet till True\|False beroende på hur min kod skulle fungera. :)
Testa i alla fall!

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

## #7 — andreas_lindh, 2003-10-11T13:10Z

Jag har gjort så här där jag har dropdownlistor som uppdaterar en textbox.

Du kanske kan göra på ett liknande sätt med dina checkboxar

```
    Public Sub getNumber1(ByVal sender As Object, ByVal e As EventArgs)
        Dim griditem As DataGridItem
        For Each griditem In dgBTeam.Items
            Dim ddlNumber As DropDownList = griditem.FindControl("ddlBPlayer")
            Dim _spelarID As Integer = ddlNumber.SelectedItem.Value
            Dim tbNumber As TextBox = griditem.FindControl("tbBNumber")
            Dim objGetNumber As New CreateprotokollBusinessL()
            Dim Number As String = objGetNumber.getNumber(_spelarID)
            tbNumber.Text = Number
        Next
    End Sub
```

Dropdownlisten ser ut så här

```
<asp:dropdownlist id="ddlBPlayer" runat="server" datatextfield="Namn" datavaluefield="spelarID" autopostback="True" onselectedindexchanged="getNumber" />
```

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

## #8 — Dino, 2003-10-11T13:37Z

Här är en fuling lösning. :)

```
private void gridFolderList_ItemCreated(object sender, DataGridItemEventArgs e) 
{
   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
   {
      TableCell td = (TableCell)e.Item.Controls[0];
      Control c = td.Controls[1]; // Kan bli tvungen att byta ut indexet i Controls[i]
      if(c is CheckBox)
      {
         CheckBox cb = (CheckBox)c;
         cb.TabIndex = (short)e.Item.ItemIndex;
      }
   }
}
```

 

```
public void Fread_oncheckedchanged(object sender, EventArgs e)
{
   CheckBox cb = (CheckBox)sender;
   Response.Write(cb.TabIndex);
}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/88170-checkbox-i-datagrid
