Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Braulio Holtz

Exportação de dados com Gridview-Checkbox

Recommended Posts

Então, estou com um problema que estou tentando resolver, eu tenho um gridview que exibe em ordem alfabetica e que criei uma coluna que contém um checkbox e que ao clicar de um botão executa esta ação

 

Protected Sub btnCheck_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCheck.Click
		'cria e instancia uma variável do tipo StrinfBuilder para concatenar os registros

		Dim str As StringBuilder = New StringBuilder

		Dim i As Integer = 0
		'Laço que percorre todas as linhas do grid
		While i < GridView1.Rows.Count
			'Variável do tipo GridViewRow recebe a linha específica do GridView
			Dim row As GridViewRow = GridView1.Rows(i)


			'Response.Write(row)
			'A variável booleana recebe true se o checkbox desse registro estiver marcado

			Dim isChecked As Boolean = CType(row.FindControl("chkSelect"), CheckBox).Checked

			If isChecked Then

				str.Append(GridView1.Rows(i).Cells(2).Text)

				str.Append(",")
				If Session("exibe") <> "" Then
					Session("exibe") = Session("exibe") & str.ToString


				Else

					Session("exibe") = str.ToString
				End If
			End If

				i += 1

		End While


		If Session("exibe") <> "" Then
			lblInfo.Text = Session("exibe")
		End If
	End Sub
Antes estava com um problema que ao ir pra outra página, o que eu queria que exibisse zerasse, neste valor contém os id's dos registros. Com esse problema, acabei adicionando o session("exibe") e com isso acabei solucionando este problema que tive, mas veio outro...

Quando eu seleciono e envio o id duas ou três vezes, esse comando é repetido, por exemplo, eu selecionei o registro 2 e 3, acabei indo na outra página e adicionei o 4 e depois voltei e acabei o 2, 3 e o 5. Então com toda esta ação, minha sessão ficou assim "2, 3, 4, 2, 3, 5", eu queria com que aparecesse apenas "2,3, 4, 5"

Teria um jeito de fazer isso, ignorar os id's que já tenha numa sessão? É que vou fazer isso pra que a pessoa selecione o registro que queira exportar num txt, e antes de exportar pegaria esses id's

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Braulio Holtz, Seja Bem Vindo ao Fórum iMasters, de uma olhada em nossas regras: Regras do Fórum iMasters

 

Basta você verificar se já existe este id cadastrado, através do IndexOf, você só insere caso não exista.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Braulio Holtz, Seja Bem Vindo ao Fórum iMasters, de uma olhada em nossas regras: Regras do Fórum iMasters

 

Basta você verificar se já existe este id cadastrado, através do IndexOf, você só insere caso não exista.

 

Abraços...

Verdade, esqueci que era dentro de WebApplications, vlw

Coloquei este IndexOf no str.ToString, ficando assim uma linha do código. Session("exibe") = Session("exibe") & str.ToString.IndexOf(str.ToString)

Só que na hora que escreve, agora o valor está completando com 0, ficando meio assim, "1,0000"

Quando coloco

Session("exibe") = Session("exibe") & str.ToString.IndexOf(Session("exibe"))
. Dai já dá assim, seleciono o id "2" e depois o id "3", daí quando escreve aparece "2,-1".

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.