Ir para conteúdo

POWERED BY:

Arquivado

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

Rendan

Erro ao mudar de pagina em um GridView

Recommended Posts

Prezados,

 

Tenho uma página aspx com um grid e os dados são conctados via a sub BindData, pois o banco access possui senha e não foi possível colocar um acessdatasource.

 

Tudo está funcionando normalmente até que o usuário clique para mudar de página no grid ou que tente efetuar um postback. Quando então, ele não executa a atualização para a página solicitada e uma mensagem no erro do browser informa:

 

Imagem Postada

 

Seguem os códigos:

 

Imports System.Data
Imports System.Data.OleDb
Partial Class BioLista
	Inherits System.Web.UI.Page
	Sub BindData()
		'1. Cria a conexao
		Dim myConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=~\dados\Banco.mdb;Jet OLEDB:Database Password=123456;"
		Dim cn As OleDbConnection = New OleDbConnection(myConnection)

		'2. Cria o objeto command passando a string SQL
		Const strSQL As String = "SELECT * FROM ListaReg"
		Dim myCommand As New OleDbCommand(strSQL, cn)

		'3. Cria o objeto DataAdapter
		Dim myDA As New OleDbDataAdapter()
		myDA.SelectCommand = myCommand

		'4. Preenche o DataSet
		Dim myDS As New DataSet()
		myDA.Fill(myDS)

		'Define a fonte de dados do datagrid
		GridView1.DataSource = myDS
		GridView1.DataBind()
	End Sub
	Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
		If Not IsPostBack Then
			BindData()
		End If
	End Sub
	Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
		If e.Row.RowType = DataControlRowType.DataRow Then
			Dim img As Image = CType(e.Row.FindControl("AlertaImg"), Image)
			If (e.Row.Cells(8).Text) <> "" Then
				If (e.Row.Cells(8).Text) = "Ativo" Then
					img.ImageUrl = "~/img/Debito.gif"
					img.Visible = True
					img.ToolTip = "Débito"
				Else
					img.ImageUrl = "~/img/credito.gif"
					img.Visible = True
					img.ToolTip = ""
				End If
			Else
				img.ImageUrl = "~/img/Credito.gif"
				img.ToolTip = ""
				img.Visible = True
			End If
		End If
	End Sub

End Class

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">	
			<ContentTemplate>
			   <fieldset>
					<table cellspacing="0" cellpadding="6" align="Center" rules="all" border="1" id="GridBusca1" style="color:#333333;width:100%;border-collapse:collapse; background-color:#dbeaf5">
					  <tr>
						<td align="center">Registro:</td>
						<td align="left"><asp:TextBox ID="Registro" runat="server" CssClass="lbl" Width="70px" MaxLength="10"></asp:TextBox></td>
						<td align="center">CPF:</td>
						<td align="left"><asp:TextBox ID="Cpf" runat="server" CssClass="lbl" Width="70px" MaxLength="11"></asp:TextBox></td>
						<td align="center">Nome:</td>
						<td align="left"><asp:TextBox ID="Nome" runat="server" CssClass="lbl" Width="150px" MaxLength="255"></asp:TextBox></td>
						<td align="center">Inscritos:</td>
						<td align="left"><asp:TextBox ID="Inicio" runat="server" CssClass="lbl" Width="70px" MaxLength="10"></asp:TextBox>
							<cc1:MaskedEditExtender ID="Inicio_MaskedEditExtender" runat="server" 
								CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
								CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
								CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
								TargetControlID="Inicio"
								Mask="99/99/9999"
								MaskType="DateTime"
								AcceptAMPM="False">
							</cc1:MaskedEditExtender> | 
							<asp:TextBox ID="Final" runat="server" CssClass="lbl" Width="70px" MaxLength="10"></asp:TextBox>
							<cc1:MaskedEditExtender ID="Final_MaskedEditExtender" runat="server" 
								CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
								CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
								CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
								TargetControlID="Final"
								Mask="99/99/9999"
								MaskType="DateTime"
								AcceptAMPM="False">
							</cc1:MaskedEditExtender></td>
						
						<td align="center">Situação:</td>
						<td align="left"><asp:DropDownList ID="Situacao" runat="server" CssClass="def">
							<asp:ListItem>Todos</asp:ListItem>
							<asp:ListItem Value="1">Normal</asp:ListItem>
							<asp:ListItem Value="2">Atrasados</asp:ListItem>
							<asp:ListItem Value="3">Cancelados</asp:ListItem>
							<asp:ListItem Value="11" Selected="True">Atr+Canc</asp:ListItem>
							</asp:DropDownList>
						</td>
						<td align="left"><asp:ImageButton ID="Button1" runat="server" ImageUrl="~/img/busca.gif" ToolTip="Pesquisar" /></td>
					 </tr>
					 </table>
				   <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="0">
				   <ProgressTemplate>
							<br />
							<table align="center" cellspacing="0" cellpadding="0" border="1" style="width:300px;border-color:#B3C9DE;background-color:#F1F2F6">
								<tr>
									<td align="center" style="width:300px;">
										<table align="center" cellspacing="0" cellpadding="6">
											<tr>
												<td align="center" style="width:20px;"><asp:Image ID="progAjaxImg" runat="server" ImageUrl="img/progAjax2.gif" /></td>
												<td align="left">Pesquisando. Aguarde...</td>
												<td><input id="Button2" type="button" value="x" onclick="CancelAsyncPostBack()" style="font-size: 7pt; font-family: 'Trebuchet MS, Verdana'; font-weight: bold;height:20px" /></td>
											</tr> 
										</table>			 
									</td>
								</tr> 
							</table><br />
					</ProgressTemplate>
				   </asp:UpdateProgress>		

			<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" 
						AutoGenerateColumns="False" CellPadding="4" 
						ForeColor="#333333"  PageSize="25" Width="100%">
			<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
			<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
			<Columns>
				
					
				<asp:TemplateField HeaderStyle-Width="14px" ItemStyle-HorizontalAlign="Center"  HeaderText="S" SortExpression="Img">
					<ItemTemplate>
						<asp:Image ID="AlertaImg" runat="server"/>
					 </ItemTemplate>
					<HeaderStyle Width="14px" />
					<ItemStyle HorizontalAlign="Center" />
				</asp:TemplateField>
				<asp:TemplateField ControlStyle-Width="16px" HeaderStyle-Width="16px">
					<ItemTemplate>
						<asp:HyperLink ID="LinkInfo" runat="server" ToolTip="Clique para verificar ou registrar as ações" NavigateUrl='<%# "Registro.Aspx?i=" & Eval("Registro")%>' ImageUrl="img/info.gif"></asp:HyperLink>						
					 </ItemTemplate>
					<ControlStyle Width="16px" />
					<HeaderStyle Width="16px" />
				</asp:TemplateField>
				<asp:BoundField DataField="Registro" HeaderText="Registro" 
					SortExpression="Registro" ItemStyle-HorizontalAlign="right" >
					<ItemStyle HorizontalAlign="Right" />
				</asp:BoundField>
				<asp:BoundField DataField="Nome" HeaderText="Nome" SortExpression="Nome" 
					ItemStyle-HorizontalAlign="left" >
					<ItemStyle HorizontalAlign="Left" />
				</asp:BoundField>
				<asp:BoundField DataField="CPF" HeaderText="CPF" SortExpression="CPF" 
					ItemStyle-HorizontalAlign="Center" >
					<ItemStyle HorizontalAlign="Center" />
				</asp:BoundField>
				<asp:BoundField DataField="Modo" HeaderText="Modo" SortExpression="Modo" 
					ItemStyle-HorizontalAlign="Left" >
					<ItemStyle HorizontalAlign="Left" />
				</asp:BoundField>
				<asp:BoundField DataField="DataRegistro" HeaderText="Registrado Em" 
					SortExpression="DataRegistro" ItemStyle-HorizontalAlign="Center" 
					DataFormatString="{0:dd/MM/yyyy}" >
					<ItemStyle HorizontalAlign="Center" />
				</asp:BoundField>
				<asp:BoundField DataField="Situacao" HeaderText="Situacao" 
					SortExpression="Situacao" ItemStyle-HorizontalAlign="Left" >
					<ItemStyle HorizontalAlign="Left" />
				</asp:BoundField>
				<asp:BoundField DataField="DA" HeaderText="DA" SortExpression="DA" ItemStyle-HorizontalAlign="Center" />
			</Columns>
			<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
			<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
			<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
			<EditRowStyle BackColor="#999999" />
			<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
		</asp:GridView>
				</fieldset>
			</ContentTemplate>	  
		 </asp:UpdatePanel>

Desde já muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rendam da mesma forma que você criou o evento RowDataBound para utilizar a paginação você precisa do evento PageIndexChanging.

De uma olhada:

http://www.juliobattisti.com.br/tutoriais/...2k5beta2002.asp

http://www.linhadecodigo.com.br/Artigo.aspx?id=788

 

Abraços...

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.