Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fibalous

Selecionar ID de uma gridview

Mensagens Recomendadas

fibalous

Boas,

Tenho uma gridview onde quero ir buscar o ID_Doc, esta informação está presente na gridview.

O problema é que ele não está a ir buscar o ID_Doc se alguém souber o que estou a fazer de errado agradeço que me diga.

APSX:

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource2" 
                Width="515px" AutoGenerateColumns="False" DataKeyNames="ID_Doc" OnRowDataBound="GridView1_RowDataBound" >
                <Columns>
                    <asp:TemplateField HeaderText="ID" SortExpression="ID_Doc" Visible="True">
                            <EditItemTemplate>
                            <%# Eval("ID_Doc") %>
                            <asp:TextBox ID="TextBox_ID_Doc" runat="server" Text='<%# Bind("ID_Doc") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label_ID_Doc" runat="server" Text='<%# Bind("ID_Doc") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Nome" SortExpression="nome">
                        <EditItemTemplate>
                            <%# Eval("nome") %>
                            <asp:TextBox ID="TextBox_nome" runat="server" Text='<%# Bind("nome") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label_nome" runat="server" Text='<%# Bind("nome") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="data" HeaderText="Data de inserção" 
                        SortExpression="data" />
            <asp:TemplateField HeaderText="Abrir Relatório" SortExpression="abrir">
                <ItemTemplate>
                <asp:LinkButton ID="Open" runat="server" Text="Abrir" OnClick="Open" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Apagar Relatório" SortExpression="apagar">
                <ItemTemplate>
                <asp:LinkButton ID="Delete" runat="server" Text="Apagar" OnClick="Delete" />
                </ItemTemplate>
            </asp:TemplateField>
                </Columns>
            </asp:GridView>

C#:

        SqlCommand caminho = new SqlCommand("SELECT path FROM tbl_documentos WHERE nome ='" + (GridView1.Rows[rowIndex].FindControl("Label_ID_Doc") as Label).Text + "'", conn);
        SqlDataReader reader = caminho.ExecuteReader();
        reader.Read();
        string filepath = reader.GetString(0);
        reader.Close();

Está a dar o seguinte erro:

Invalid attempt to read when no data is present.

Line 123:        string  = reader.(0);

Suponho que não esteja a ir buscar o ID só não sei porquê.

PS: Caso esta informação seja útil o ID_Doc é integer na BD

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fibalous

Já está feito...estava a seleccionar a coluna nome e a comparar com o ID_Doc 😳

        SqlCommand caminho = new SqlCommand("SELECT path FROM tbl_documentos WHERE ID_Doc ='" + (GridView1.Rows[rowIndex].FindControl("Label_ID_Doc") as Label).Text + "'", conn);

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.