Ordinamento gridview tramite passaggio di varibile

martedì 30 gennaio 2007 - 11.33

valerik Profilo | Junior Member

Ciao a tutti,

E' possibile passare ad una store procedureuna variabile che modifichi l' ordinamento?
Una cosa del genere insomma:

CREATE PROCEDURE [dbo].[GetDataProductByInventario]
(
@Order nvarchar(50),
@productName nvarchar(150)

)
AS
SET NOCOUNT ON;
SELECT productID , productName, sku, ourPrice, retailPrice, manufacturer, categoryName, status, Disponibilita
FROM vwProduct
WHERE (Disponibilita > 0) AND (productName LIKE '%' + @productName + '%')
Order By @Order

In questo caso l' errore è :
L'elemento SELECT identificato da ORDER BY 1 include una variabile nell'espressione che identifica la posizione di una colonna. Le variabili sono consentite solo nell'ordinamento in base a un'espressione che fa riferimento a un nome di colonna.

Come dovrei modificarla?
Oppure visto che il datasource mi cambia in base ai parametri passati e' possibile attivare l' ordinamento automatico della GridView?
Grazie a tutti
ciao
grazie a tutti.
valerik

trasportation Profilo | Junior Member

Ecco come la puoi modificare:

EXEC ('SELECT productID , productName, sku, ourPrice, retailPrice, manufacturer, categoryName, status, Disponibilita '+
'FROM vwProduct '+
'WHERE (Disponibilita > 0) AND (productName LIKE ''%' + @productName + '%'') '+
'Order By '+@Order)

@Order però deve contenere il nome della colonna non la sua posizione, se vuoi passare un numero fatti una condizione in testa alla store procedure dove assegni il nome in base alla posizione.
E' anche possibile determinare la posizioine dal nome via T-SQL ma te lo sconsiglio, andresti a infilarti in un sacco di codice per nulla.

Non l'ho provata ma dovrebbe andare

Secondo me è sempre meglio farsi arrivare i dati dal server come li vuoi tu.

R.

/*
* web: http://www.robertobeccari.it
*/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5