Romulinho 0 Denunciar post Postado Maio 31, 2005 Olá pessoal, to fazendo uma aplicação web e em uma das páginas estou utilizando um datagrid que contém um TemplateColumn. Dentro dessa coluna tem um checkbox e durante a troca de páginas do datagrid eu tenho q persistir o valor dos checkbox marcados. Estou usando isso: 'Recupera o ArrayList do ViewState Dim arrayCheck As ArrayList = CType(ViewState("array_ckSelItem"), ArrayList) Dim ck As CheckBox For Each Item As DataGridItem In grid.Items ck = CType(Item.FindControl("ckSelItem"), CheckBox) If Not IsNothing(ck) Then If grid.DataKeys.Count > 0 Then Dim id As Int32 = Convert.ToInt32(grid.DataKeys(Item.ItemIndex)) If arrayCheck.Contains(id) And Not ck.Checked Then arrayCheck.Remove(id) ElseIf Not arrayCheck.Contains(id) And ck.Checked Then arrayCheck.Add(id) End If End If End If Next ViewState("array_ckSelItem") = arrayCheck Só que dá erro na linha onde tem grid.DataKeys(Item.ItemIndex), erro de OutOfRange porque o DataKeys.Count ta retornando zero. O datagrid contém itens... Se alguém puder me ajudar... Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
asp.net 0 Denunciar post Postado Junho 4, 2005 Para você verificar se o item está marcado deve usar assim: for i = 0 to cb_opcionais.Items.Count -1 if cb_opcionais.items(i).Selected then sql_inserte ="insert into possui(veiculo, opcionais) values ('"& ultimo_registro &"', '"& cb_opcionais.items(i).value &"')" executa.executa_sql(sql_inserte) end if next i Aqui estou fazendo um loop por todos os checkbox de um checkboxlist e gravando no banco. Não sei se serve muito, mas de qualquer maneira você pode dar uma olhada, ou então entra no site abaixo que tem vários exemplos de DataGrid: http://www.dotnetjunkies.com/quickstart/ Compartilhar este post Link para o post Compartilhar em outros sites