[SIZE=1][SIZE=1][SIZE=1]Hola de nuevo;
Tengo un datagrid que cargo a través de un dataset, y que contiene templatecolums enlazados a una bd en access.
No sé que he tocado (porque funcionaba), pero ahora no me ejecuta la consulta. Es decir: Me presenta todos los registros de la tabla, independiéntemente de si cumplen los parámetros de consulta o no).
Relleno el datagrid mediante una función que llamo desde el page_load, pero también he probado a llenarla directamente desde el page_load, y lo mismo (en el page_load tengo puesto el If Not Page.IsPostBack...y sin él tampoco funciona).
Son 40 parámetros, pero os lo paso reducido a ver si veis algo. Un saludo.
Code Behind
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
'definición de variables
BlindDataGridC("PrecioAltaCompleta")
End If
End Sub
Sub BlindDataGridC(ByVal orderBy)
Dim conexionDatagridCasasC As OleDbConnection
Dim sConnectionStringDatagridCasasC As String = "Provider=Microsoft.Jet.OLEDB.4.0;" etc...
Dim seleccionstringDatagridCasasC As String
Dim seleccionDatagridCasasC As OleDbCommand
conexionDatagridCasasC = New OleDbConnection(sConnectionStringDatagridCasasC)
Dim dadcasasC As OleDbDataAdapter
Dim dstcasasC As DataSet
Dim MyTableC As DataTable
MyTableC = New DataTable
seleccionstringDatagridCasasC = "Select DAT_Alojamientos.Identificador, DAT_Alojamientos.RazonComercial, DAT_Alojamientos.NombreLegal, DAT_Caracteristicas.Capacidad, DAT_Alojamientos.RazonComercial, DAT_Alojamientos.Situacion, DAT_Precios.PrecioAltaCompleta, DAT_Precios.PrecioMediaCompleta, DAT_Precios.PrecioBajaCompleta, DAT_Alojamientos.Imagen1, DAT_Caracteristicas.CasaCompleta FROM (DAT_Alojamientos INNER JOIN DAT_Caracteristicas ON DAT_Alojamientos.Identificador = DAT_Caracteristicas.Identificador) INNER JOIN DAT_Precios ON DAT_Alojamientos.Identificador = DAT_Precios.Identificador Where (DAT_Caracteristicas.CasaCompleta = @casacompleta) " & " And...
'no os pongo los 39 restantes, porque este ya no lo cumple...
dadcasasC = New OleDbDataAdapter(seleccionstringDatagridCasasC, conexionDatagridCasasC)
conexionDatagridCasasC.Open()
dadcasasC.SelectCommand.Parameters.Add(New OleDbParameter("@casacompleta", OleDbType.Double, 1))
dadcasasC.SelectCommand.Parameters("@casacompleta" ).Value = Server.HtmlEncode(casacompleta)
dstcasasC = New DataSet
dadcasasC.Fill(dstcasasC)
datagridcasasC.DataSource = dstcasasC
datagridcasasC.DataBind()
conexionDatagridCasasC.Close()
en el HTML
<asp:datagrid id="datagridcasasC" runat="Server" OnPageIndexChanged="datagridcasasC_PageIndexChange d"
AllowPaging="True" AutoGenerateColumns="False" <ItemStyle>...</ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="DarkRed"></HeaderStyle>
<Columns>
'templatecolumns enlazadas a los campos de la bd
</Columns>
<PagerStyle HorizontalAlign="Right" BackColor="#FFCC66" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
Bueno, ya sé que es un lío...a ver si me podéis echar una mano.