COMO PEGAR VALOR DE GRIDVIEW DENTRO DE CONTROLE...

VILMARBR 08/03/2012 20:45:07
#396728
como pegar valor de gridview dentro de controle linkbutton ou hyperlink?
eles estão dentro do grid, dentro de um template...:

<asp:TemplateField HeaderText=[Ô]Atividade[Ô] SortExpression=[Ô]1[Ô]>
<ItemTemplate>
<asp:LinkButton ID=[Ô]lb[Ô] runat=[Ô]server[Ô] CausesValidation=[Ô]false[Ô] />
<asp:HyperLink ID=[Ô]hl[Ô] runat=[Ô]server[Ô]>[hl]</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>


quero pegar estes valores num loop, já com dados exibidos, mas não vem nada....
WITH MEUGRID
For m = 0 To .Rows.Count - 1
For n = 0 To .Rows.Count - 1
Response.Write(.Rows(m).Cells(n).Text & [Ô];[Ô])
Next

Response.Write(Environment.NewLine)
Next
END WITH
qual o macete??

os dados que não estão dentro destes controles, vem numa boa...

os dados nestes controles são jogados no rowdatabound:


Protected Sub MEUGRID_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles MEUGRID.RowDataBound
If Not e.Row.DataItem Is Nothing Then
If e.Row.RowType = DataControlRowType.DataRow Then
Dim dr As System.Data.DataRowView = CType(e.Row.DataItem, System.Data.DataRowView)
Dim lb As LinkButton = CType(e.Row.Cells(0).FindControl([Ô]lb[Ô]), LinkButton)
Dim hl As HyperLink = CType(e.Row.Cells(0).FindControl([Ô]hl[Ô]), HyperLink)

Dim iGrupoAux As Integer
If Integer.TryParse(ddlGrupo.SelectedValue, iGrupoAux) Then
If iGrupoAux <= 0 Then
hl.Visible = False
lb.Visible = True
lb.Text = dr([Ô]Atividade[Ô]).ToString
lb.CommandArgument = dr([Ô]Atividade[Ô]).ToString
Else
hl.Visible = True
lb.Visible = False
hl.Text = dr([Ô]Atividade[Ô]).ToString
hl.NavigateUrl = [Ô]paginax.aspx?atividade=[Ô] & dr([Ô]atividade[Ô]).ToString & _
[Ô]&visao=[Ô] & ddlVisao.SelectedIndex & _
[Ô]&tomador=[Ô] & ddlTomador.SelectedValue & _
[Ô]&status=[Ô] & ddlStatus.SelectedValue & _
[Ô]&tributacao=[Ô] & ddlTributacao.SelectedValue & _
[Ô]&simples=[Ô] & ddlSimples.SelectedValue & _
[Ô]®ime=[Ô] & rblPeriodo.SelectedIndex & _
[Ô]&inicio=[Ô] & ddlInicio.SelectedValue & _
[Ô]&fim=[Ô] & ddlFim.SelectedValue
End If
End If
.....................................

grato.
KERPLUNK 09/03/2012 09:38:56
#396766
Deixa eu ver se eu entendi, você quer alterar o valor de um botão ou linkbutton que está dentro de uma coluna template do seu grid, linha por linha, colocando como valor de label nesses controles o que estiver no banco de dados, isso?
VILMARBR 09/03/2012 11:19:19
#396788
eu só quero pegar o dado que está dentro dele....
acho que consegui... estou acabando de testar....
VILMARBR 09/03/2012 11:24:04
#396789
Deu certo....



Protected Sub btnExportarExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportarExcel.Click
Dim i, m, n As Integer

Dim fName As String = [Ô]Resumo_Atividade_[Ô] & Date.Today.ToShortDateString & [Ô].xls[Ô]

Dim lb As LinkButton
Dim hl As HyperLink
Dim iGrupoAux As Integer

Response.Clear()
Response.AddHeader([Ô]content-disposition[Ô], [Ô]attachment;filename=[Ô] & fName)
Response.ContentType = [Ô]application/vnd.ms-excel[Ô]

Response.BufferOutput = True
Response.ContentEncoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Response.Charset = [Ô]UTF-8[Ô]

With MEUGRID
For i = 0 To MEUGRID.Columns.Count - 1
If i = 0 Then
[ô]Controla o Título do Gridview de acordo com a opção Marcada
If Integer.TryParse(ddlGrupo.SelectedValue, iGrupoAux) Then
If iGrupoAux <= 0 Then
Response.Write([Ô]Grupo;[Ô])
Else
Response.Write([Ô]Atividade;[Ô])
End If
End If
ElseIf i = 1 Then
Response.Write([Ô]Descricao;[Ô])
ElseIf i = 2 Then
Response.Write([Ô]Qtd. CCM;[Ô])
ElseIf i = 3 Then
Response.Write([Ô]Qtd. NFS-e;[Ô])
ElseIf i = 4 Then
Response.Write([Ô]Receita;[Ô])
ElseIf i = 5 Then
Response.Write([Ô]Deducoes;[Ô])
ElseIf i = 6 Then
Response.Write([Ô]Base Calculo;[Ô])
ElseIf i = 7 Then
Response.Write([Ô]ISS;[Ô])
ElseIf i = 8 Then
Response.Write([Ô](%);[Ô])
ElseIf i = 9 Then
Response.Write([Ô]Crédito;[Ô])
ElseIf i = 10 Then
Response.Write([Ô](%);[Ô])
Else
Response.Write(.Columns(i).HeaderText & [Ô];[Ô])
End If
Next

Response.Write(Environment.NewLine)

For m = 0 To .Rows.Count - 1
For n = 0 To .Rows.Count - 1
If n = 0 Then
If Integer.TryParse(ddlGrupo.SelectedValue, iGrupoAux) Then
If iGrupoAux <= 0 Then
lb = CType(.Rows(m).Cells(n).FindControl([Ô]lb[Ô]), LinkButton)
Response.Write(lb.Text & [Ô];[Ô])
Else
hl = CType(.Rows(m).Cells(n).FindControl([Ô]hl[Ô]), HyperLink)
Response.Write(hl.Text & [Ô];[Ô])
End If
End If
Else
Response.Write(.Rows(m).Cells(n).Text & [Ô];[Ô])
End If
Next

Response.Write(Environment.NewLine)
Next

Response.End()
End With

------

Podem guardar a receita de bolo agora, eheheheeh

Obrigado.
Tópico encerrado , respostas não são mais permitidas