Domanda

Utilizzando ASP.NET Dynamic Data con LINQ to SQL DataContext dal database Northwind ...

Quando si aggiunge un attributo DisplayColumn a uno dei miei LINQ to classi entity SQL e di riferimento una proprietà da mio codice personalizzato nella classe parziale, perdo la possibilità di ordinare in base alla colonna nel generato GridView . Io continuo a perdere la possibilità di ordinare anche se fare riferimento a una struttura per non personalizzato come sortColumn.

Perché sta succedendo?

Esempio di codice:

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}

Aaron

EDIT: Il sortColumn specifica la colonna che verrà utilizzata per ordinare questa entità quando viene utilizzato come una chiave esterna (in un DropDownList ), non quando viene ordinato in GridView .

È stato utile?

Soluzione 2

Questo può essere da Design ...

Il "sortColumn" specifica la colonna che verrà utilizzata per ordinare questa entità quando viene utilizzato come una chiave esterna (in una DropDownList), non quando viene ordinato in GridView.

Altri suggerimenti

Questo è corretto perché la proprietà non è nel DB e LINQ to SQL cercherà di costruire un Quert T-SQL al DB per ottenere il vostro entità. ma non riuscirà perché questi sono colonne con quel nome.

Si potrebbe provare l'override del metodo ToString () che potrebbe funzionare, ma sarebbe filtrare solo sul soggetto a cui fa riferimento il rapporto FK.

Prova ad aggiungere [ScaffoldColumn (true)] - potrebbe ingannare i dati dinamici per abilitare l'ordinamento

[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
    [ScaffoldColumn(true)]
    public string LastNameFirstName
    {
        get { return LastName + ", " + FirstName; }
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top