none
Dados do DataGridView para outro form. RRS feed

  • Pergunta

  • Me ajudem pessoal por favor, eu estou fazendo um software para o TCC no Visual Studio 2010, e eu tenho 2 forms: um é o form de cadastro (FC), onde eu realizo o cadastro dos processos, o outro é o form de consulta (Principal), onde eu vou realizar as pesquisas dos processos.

    O que eu quero é que quando feita a pesquisa, somente Código, Nome e Ano apareçam no DatagridView e que quando clicado na linha o programa chame o outro form(FC) aparecendo todos os dados do processo, assim nesse form eu posso alterar, apagar e etc!

    Alguém pode me ajudar passo a passo, parece ser algo bem simples!

     
    quarta-feira, 29 de maio de 2013 14:44

Todas as Respostas

  • Cara, eu fiz algo assim mas é web.

    Criei esse evento para quando eu selecionar a coluna Seleciona, ele me redireciona para outra aspx.

    protected void gdvPesqTriagem_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "Seleciona") // Seu clicar em Seleciona vai para o cliente selecionado
                {
                    Session["CodTriagem"] = gdvPesqTriagem.DataKeys[Convert.ToInt32(e.CommandArgument)].Values["id_triagem"].ToString();
                    //CarregaTriagemPeloID(Convert.ToInt32(Session["CodTriagem"]));
                    Response.Redirect("~/Formularios/frmInsereTriagem.aspx", false);
                }
            }

    Aqui no Grid, eu crio minhas colunas e uma coluna chamada Seleciona. Veja o código asp.net

    <asp:GridView ID="gdvPesqTriagem" runat="server" Width="877px" 
                OnRowDataBound="gdvPesqTriagem_RowDataBound" 
                onrowcommand="gdvPesqTriagem_RowCommand" AutoGenerateColumns="False" 
                Height="50px" DataKeyNames="id_triagem" style="margin-top: 0px" >
                <Columns>
                    <asp:ButtonField CommandName="Seleciona" Text="Seleciona" />
                    <asp:BoundField DataField="id_triagem" HeaderText="Cod. Triagem" />
                    <asp:BoundField DataField="dt_cadastro" HeaderText="Data Triagem" />
                    <asp:BoundField DataField="nm_autor" HeaderText="Nome do Autor" />
                    <asp:BoundField DataField="cpf_autor" HeaderText="CPF/CNPJ do Autor" />
                    <asp:BoundField DataField="num_doc" HeaderText="Nro. Documento" />
                </Columns>
            </asp:GridView>

    Criei esse outro evento, para que quando o mouse for passado por cima da linha, ela fica em vermelho.

    protected void gdvPesqTriagem_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    //Each row will then behave like a link, and when you select one it
                    //can drive the behavior of another control(s) on your page
                    //other way to select
                    //e.Row.Attributes["ondblclick"] = ClientScript.GetPostBackClientHyperlink(this.GridView1, "Select$" + e.Row.RowIndex);

                    e.Row.Attributes["onmouseover"] = "this.style.cursor='hand';this.style.textDecoration='underline';this.style.color='red'";
                    e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.color='black';";
                    e.Row.Attributes.Add("ondblclick", "Javascript:__doPostBack('myDblClick','" + e.Row.RowIndex + "');");
                }            
            }

    Tudo isso eu fiz, com a ajuda de uns colegas aqui do forum. Espero que isso te ajude. Para criar a coluna Seleciona, você cria essa coluna no Edit Columns, HeaderText = Seleciona e CommandName = Seleciona. Esse CommandName, é que dispara o evento GridView_RowCommand.

    Tenta aí e depois nos diz o que aconteceu.

    • Sugerido como Resposta pnet quarta-feira, 29 de maio de 2013 15:30
    quarta-feira, 29 de maio de 2013 15:29
  • Não, ainda não consegui :/, na verdade acho que fiz bem errado, preciso de algo mais específico!
    quarta-feira, 29 de maio de 2013 16:34
  • O que realmente está dando errado aí com você.
    quarta-feira, 29 de maio de 2013 20:18
  • Eu não sei como fazer, tá confuso.

    quarta-feira, 29 de maio de 2013 22:33
  • Cara, copie os métodos que te enviei e altere penas os nomes dos controles para os que você usa. Jogue em seu arquivo .cs e o grid, copie e cole no seu Asp.Net e altere os nomes das colunas, do Grid e do seu DataField.
    quinta-feira, 30 de maio de 2013 16:43