Abrir POPUP Gridview
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
Lucas Alves
Curtidas 0
Respostas
Pedro Maitan
13/04/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
https://www.devmedia.com.br/articles/post-5026-Customizando-o-Gridview.html
href=''
ou acesse
https://www.devmedia.com.br/articles/post-5026-Customizando-o-Gridview.html
GOSTEI 0
Pedro Maitan
13/04/2010
no Href
Eval( " SeuParametro " , " CadastroCliente.aspx?Codigo= ")
Eval( " SeuParametro " , " CadastroCliente.aspx?Codigo= ")
GOSTEI 0
Lucas Alves
13/04/2010
Pedro, eu tentei implementar o código que você me passou mas nao funcionou, veja se eu fiz certo pf:
No RowDataBound:
e no HTML
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() + "');"))
<script language="javascript"> function abrePopup(id) { window.open('CadastroCliente.aspx?idCliente=' + id, 'Detalhe', 'width=600,height=400'); } </script> <asp:TemplateField> <ItemTemplate> <a href="#" ID="lnk" value='<%# Eval("NOME_CLIENTE")%>' runat="server"></a> </ItemTemplate>
GOSTEI 0
Netasper
13/04/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="10px" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" HeaderText="Mais">
<ItemTemplate>
<asp:ImageButton ID="ibExibir" OnCommand="ExibirDetalhe" runat="server" ImageUrl="~/Img/Botoes/btn_detalhes.gif" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
GOSTEI 0