none
Problema para pegar um dado de uma linha selecionada de um grid view RRS feed

  • Pergunta

  • Eu tenho uma grid que é montada desse forma:

    <asp:GridView ID="GrdDistribuidor" runat="server" GridLines="Horizontal" AutoGenerateColumns="False" 
                    BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" 
                    BorderWidth="1px" CellPadding="4"
                    ForeColor="Black" Height="487px" Width="800px" PageSize="50" 
                    UseAccessibleHeader="False" meta:resourcekey="GrdDistribuidorResource1" 
                    AutoGenerateSelectButton="True" 
                    onselectedindexchanged="GrdDistribuidor_SelectedIndexChanged1">
                    <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
                      
                    <PagerStyle BackColor="White" ForeColor="Pink" HorizontalAlign="Right" />
                    <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
                    <%--Altera o a cor do título --%>
                    <HeaderStyle BackColor="#E6E8FA" Font-Bold="True" ForeColor="Black" />
                    
                    <%-- Cria as colunas da grid, e faz a inclusão dos dados na grid
                    No caso, aqui pode passar o CSS para formatar o texto --%>
                   
                    <Columns>
                        <asp:TemplateField meta:resourcekey="TemplateFieldResource1">
                        
                            <%-- cabeçalho do template --%>
                            <HeaderTemplate>
                                <div style="width:100px; float:left;">Filial</div>
                                <div style="width:100px; float:left;">Andar</div>
                                <div class="oculto" style="width:0px; float:left;">idDistribuicao</div>
                                <div style="width:100px; float:left;">Identificação</div>
                                <div style="width:100px; float:left;">Ativação</div>
                                <div style="width:300px; float:left;">Disjuntores Disponíveis/Totais</div>
                                <div style="clear:both"></div>
                            </HeaderTemplate>
                            
                            <%--Itens a serem exibidos no template --%>
                            <ItemTemplate>
                                <div style="width:100px; float:left;"><asp:Label ID="lblFilial" runat="server" 
                                        Text='<%# DataBinder.Eval (Container.DataItem, "bean_localizacao.bean_filial.filial") %>' 
                                        meta:resourcekey="lblFilialResource1" /></div>
                                <div style="width:100px; float:left;"><asp:Label ID="lblAndar" runat="server" 
                                        Text='<%# DataBinder.Eval (Container.DataItem, "bean_localizacao.andar") %>' 
                                        meta:resourcekey="lblAndarResource1" /></div>
                                <div class="oculto" style="width:0px; float:left;">
                                    <asp:Label ID="lblIdDistribuidor" runat="server" 
                                        Text='<%# PassaEmBranco(DataBinder.Eval (Container.DataItem, "id_distribuidor").ToString()) %>' 
                                        meta:resourcekey="lblIdDistribuidorResource1" /></div>
                                <div style="width:100px; float:left;"><asp:Label ID="lblIdentificacao" 
                                        runat="server" 
                                        Text='<%# DataBinder.Eval (Container.DataItem, "identificacao") %>' 
                                        meta:resourcekey="lblIdentificacaoResource1" /></div>
                                <div style="width:100px; float:left;"><asp:Label ID="lblAtivacao" runat="server" 
                                        Text='<%# DataBinder.Eval (Container.DataItem, "dh_ativacao") %>' 
                                        meta:resourcekey="lblAtivacaoResource1" /></div>
                                <div style="width:100px; float:left;">
                                    <asp:Label ID="lblDisjuntoresDisponiveisTotais" runat="server" 
                                        Text='<%# DataBinder.Eval (Container.DataItem, "qtdeDisponivelTotal") %>' 
                                        meta:resourcekey="lblDisjuntoresDisponiveisTotaisResource1" /></div>
                                <div style="clear:both"></div>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>


    Sendo que eu não consigo pegar o valor que está na coluna 3° coluna (coluna oculta  idDistribuicao) eu uso a função 

    idDistribuidor = Convert.ToInt32(GrdDistribuidor.SelectedRow.Cells[2].Text.Trim());

    e da o erro 

    Argumento especificado estava fora do intervalo de valores válidos.
    Nome do parâmetro: index

    Alguem sabe como resolver isso?


    Visitem os meus blogs: http://planetabrasileiro.blogspot.com http://programacaoegames.blogspot.com Rebeca bjs

    quinta-feira, 10 de maio de 2012 21:04

Respostas

Todas as Respostas