none
Duvida Cruel: Pegar pegar um valor selcionado de uma GrindView dentro de um modal Popup RRS feed

  • Pergunta

  • Caros, boa tarde!

    Estou com extrema dificuldade e achar a solução disso.

    Tenho pagina web com um textbox que chama um modal PoP up.

    Dentro desse modal popup tem uma grindview que ao clicar em uma linha quero que ele pegue o valor e passe para a Textbox que chama o Popup.

    Fiz esse teste sem popup e funciona.

     protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            TextBox1.Text = GridView1.SelectedRow.Cells[1].Text;

        } 

    Como eu faria com o PoPup. 

    segunda-feira, 27 de agosto de 2012 18:54

Respostas

  • Pessoal, Achei a solução.

    O código está certo. 

    Coloquei um brake point nessa linha   ((TextBox)form1.FindControl("TextBox1")).Text = ((GridView)sender).SelectedRow.Cells[2].Text; 

    E descobri que o evento protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) não estava sendo acionado.

    A Causa é que eu não coloquei o botão select correto na grindview.

    Pois é vivendo e aprendendo.

    Obrigado a todos!

    terça-feira, 28 de agosto de 2012 11:10

Todas as Respostas

  • Posta o código para que possamos ajudar. Em teoria seria a mesma coisa.
    segunda-feira, 27 de agosto de 2012 19:52
  • Segue o Pagina mais CodBehind.

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Modal_PopUp.aspx.cs" Inherits="Modal_PopUp" %>

    <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
        <style type="text/css">
            .modalBackground
            {
                background-color: Black;
                filter: alpha(opacity=90);
                opacity: 0.8;
            }
            .modalPopup
            {
                background-color: #FFFFFF;
                border-width: 3px;
                border-style: solid;
                border-color: black;
                padding-top: 10px;
                padding-left: 10px;
                width: 700px;
                height: 400px;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Width="147px">

            </asp:TextBox>
                    <asp:ModalPopupExtender ID="TextBox1_ModalPopupExtender" runat="server" 
                        BackgroundCssClass="modalBackground" DynamicServicePath="" Enabled="True" 
                        PopupControlID="Panel1" TargetControlID="TextBox1">
                    </asp:ModalPopupExtender>
                </ContentTemplate>
            </asp:UpdatePanel>


            <br />

            <asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" align="center" style = "display:none">

                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>

                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

                <asp:Button ID="Button2" runat="server" Text="Buscar" onclick="Button2_Click" />


                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

                <br />
                <asp:Panel ID="Panel_Modal" runat="server" Width="670px" Height="370" ScrollBars="Auto">


        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                CellPadding="4" ForeColor="#333333" GridLines="None" Height="185px" 
                style="text-align: center" Width="646px">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>
                    <asp:ButtonField Text="Selecionar" />
                    <asp:BoundField DataField="SEQ" HeaderText="Codigo" />
                    <asp:BoundField DataField="PRODUTO" HeaderText="Item" />
                    <asp:BoundField DataField="QUANTIDADE" HeaderText="Quantidade em Estoque" />
                    <asp:BoundField DataField="VALOR_VENDA" DataFormatString="{0:c}" 
                        HeaderText="Preço" />
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>

                </asp:Panel>


            </asp:Panel>

            <br />


            <br />



            <br />
            <br />
        </div>
        </form>
    </body>
    </html>

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data.Sql;

    public partial class Modal_PopUp : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            

            TextBox1_ModalPopupExtender.Show();

            try
            {
                string strSQLconnection = System.Configuration.ConfigurationManager.ConnectionStrings["Sistema_baseConnectionString"].ToString(); 

                SqlConnection sqlConnection = new SqlConnection(strSQLconnection);
                SqlCommand sqlCommand = new SqlCommand("select SEQ, PRODUTO, QUANTIDADE, VALOR_VENDA from dbo.TB_Estoque where PRODUTO Like'%"+TextBox2.Text+"%'", sqlConnection);
                sqlConnection.Open();

                SqlDataReader reader = sqlCommand.ExecuteReader();

                GridView1.DataSource = reader;
                GridView1.DataBind();

            }
            catch (Exception ex)
            {

                Label1.Text = ex.Message;
            }
        }
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {


            ((TextBox)form1.FindControl("TextBox1")).Text = ((GridView)sender).SelectedRow.Cells[2].Text; 

         
            
           
        }
        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            
        }
    }

                                                                           
    segunda-feira, 27 de agosto de 2012 20:04
  • Pessoal, Achei a solução.

    O código está certo. 

    Coloquei um brake point nessa linha   ((TextBox)form1.FindControl("TextBox1")).Text = ((GridView)sender).SelectedRow.Cells[2].Text; 

    E descobri que o evento protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) não estava sendo acionado.

    A Causa é que eu não coloquei o botão select correto na grindview.

    Pois é vivendo e aprendendo.

    Obrigado a todos!

    terça-feira, 28 de agosto de 2012 11:10