Array
(
)

Abrir POPUP Gridview

Lucas Alves
   - 13 abr 2010

Bom dia Pessoal, por favor, se alguem puder me ajudar....

 

O Problema é que eu preciso abrir uma popup do gridview aqui no meu trabalho ... estava lendo um artigo que encontrei aki mas não consegui implementar ...

Estou programando em VB.Net .... e minha função pra carregar o griview é a abaixo...

 

Private Sub carregaGrid(ByVal Status As String, Optional ByVal paginacao As Integer = 0, Optional ByVal ordenar As SortDirection = SortDirection.Ascending)

        '------------------------------------------ Acessar classe de negocios ------------------------------------

        Dim negocios As New Negocio.forcaVendas.forcaVendas

        '----------------------------------------------------------------------------------------------------------

        Dim dtConsulta As New DataTable

        Dim procurar As String

        procurar = Session.Item("Procurar")

 

        If procurar <> "" Then

            dtConsulta = negocios.carregaGrid(Status, procurar)

            'Session.Add("procurado", 1)

        Else

            dtConsulta = negocios.carregaGrid(Status)

        End If

 

        If dtConsulta.Rows.Count < 10 Then

            Dim linhas As Integer = dtConsulta.Rows.Count

            Dim DTrow As DataRow

            Dim count As Integer = 10

 

            While linhas < count

                DTrow = dtConsulta.NewRow

                dtConsulta.Rows.Add(DTrow)

                linhas = linhas + 1

            End While

        End If

 

        GridView1.DataSource = dtConsulta

        GridView1.PageIndex = paginacao

        GridView1.DataBind()

    End Sub

 

Ai já tentei várias coisas, no evento rowdatabound estou fazendo o seguinte:

 

Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

 

e.Row.Cells(0).Attributes.Add("onclick", String.Format("javascript:window.open('CadastroCliente.aspx');"))

 

        'Response.Write("<script language=javascript>window.open('CadastroCliente.aspx','test','height=200px;width=300px');</script>")

        'Page.ClientScript.RegisterStartupScript(Me.GetType, " ", "windows.open(CadastroCliente.aspx,'windows','height=200px;width=300px');", True)

 

 

        ' Dim teste As String

        ' teste = e.Row.Cells(3).Text

 

        'e.Row.Cells(0).Attributes.Add("onclick", String.Format("javascript:window.open('CadastroCliente.aspx');"))

 

        'e.Row.Cells(0).Attributes.Add("onclick", String.Format("javascript:window.open('CadastroCliente.aspx?'+'&IdCliente='+ linha);"))

 

        'e.Row.Cells(1).Attributes.Add("onclick", String.Format("<script type=text/javascript> window.open(CadastroCliente.aspx);</script>"))

 

 

    End Sub

 

Os comentádos foi tudo que eu testei, só que acontece que eu quero passar por parâmetro o id do cliente, conforme eu fazia no envento select quando não abria em pop up, segue abaixo :

 

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged

 

        'Acessar classe de negocios ------------------------------------

        Dim negocios As New Negocio.forcaVendas.forcaVendas

        '---------------------------------------------------------------

        Dim itemSel As Integer

        itemSel = GridView1.SelectedIndex

 

        Session.Add("Nome", GridView1.Rows(itemSel).Cells.Item(3).Text)

        Session.Add("Sobrenome", GridView1.Rows(itemSel).Cells.Item(4).Text)

        Session.Add("Status", DirectCast(Master.FindControl("lblTituloPesq"), Label).Text)

 

        Dim Dtid As New DataTable

        Dim id As Integer

        Dtid = negocios.carregaIdCliente(Session.Item("Nome") + " " + Session.Item("Sobrenome"))

        id = Dtid.Rows(0).Item(0)

 

        Response.Redirect("CadastroCliente.aspx?" & "&IdCliente=" & id)

 

    End Sub

 

 

Agora oque eu quero é quando o  cara clicar na coluna Select, do gridview, eu enviar para a página de cadastro, passando por parâmetro esse ID .... eu já consegui enviar para a página de cadastro sem passar parâmetro, mas isso não adianta para mim .... se você puderem me ajudar, ficaria muito grato...

 

Atenciosamente

Lucas Alves

Pedro Otávio
   - 13 abr 2010

  Adicione um TemplateField no seu GridView e nele crie um link '< a >Select< /a >', e para redirecionar  com parâmetro adicione isso
   
    href=''

ou acesse

http://www.devmedia.com.br/articles/post-5026-Customizando-o-Gridview.html

Pedro Otávio
   - 13 abr 2010

no Href 

      Eval( " SeuParametro " , " CadastroCliente.aspx?Codigo={0} ")

Lucas Alves
   - 16 abr 2010

Pedro, eu tentei implementar o código que você me passou mas nao funcionou, veja se eu fiz certo pf: No RowDataBound: #Código


Dimlink As System.Web.UI.HtmlControls.HtmlAnchor
link = e.Row.FindControl("lnk")
link.Attributes.Add("onclick", String.Format("javascript:abrePopup('" + DataBinder.Eval(e.Row.DataItem, "NOME_CLIENTE").ToString() + "');"))
e no HTML [tagcod]

<script language

Netasper
   - 16 abr 2010

Faz o seguinte:  

private void ExibirDetalhe(int codItem)

{

string PopUp =

"<script language=\"javascript\">" +

"abrePopupCentro(\"" + ConfigurationManager.AppSettings["Url"] + "Detalhe.aspx?cod=" + codItem.ToString() + "\", \"PopUp\", 600, 450, true, false, false, false);" +

"</script>";

ClientScript.RegisterStartupScript(this.GetType(), "PopUp", PopUp);

}

 

<asp:TemplateField HeaderStyle-Width