Bindung linq Abfrage-Ergebnis zu gridview

Ich finde es schwer zu binden, die linq-Abfrage-Ergebnisse, um ein gridview-Steuerelement auf meinem asp.net Seite. In den wichtigsten Linq-Abfrage, bekomme ich alle Benutzer aus einer Tabelle, die den Kriterien entspricht, die von einer Spalte, die überprüft "Ausgefüllte Formular" -

using (COLA_AccreditationEntities4 eFactory = new COLA_AccreditationEntities4())
{
    var evaluations = eFactory.Symposium_Evaluation.Where(a => 
            (!a.Completed.HasValue || 
              a.Completed.Value == 0) && a.Active && a.UserID >= 2063).ToList();

Dann im code mache ich eine foreach-Schleife alle zu erhalten, die die Benutzer-id aus der anderen Tabelle übereinstimmt, die die Benutzer-id in der vorherigen Tabelle -

foreach (var eval in evaluations)
{
    var user = eFactory.SYMPOSIUM_Users.Where(a => a.UserID == eval.UserID.Value 
                         && a.Active.Value && a.UserRole == 1).FirstOrDefault();

    if (user != null && !users.Contains(user.UserID))
    {
        string name = user.FirstName + " " + user.LastName;
        string email = user.Email;
    }
}

Alles, was ich wollte, zu tun ist, um dem Benutzer zu zeigen.Vorname + user.lastname " + user.E-Mail auf dem Bildschirm. Ich verwendet gridview-Steuerelement zu binden, aber nicht immer die gewünschten Ergebnisse.

Irgendwelche Gedanken auf, wie Sie diese erreichen ?

wenn die Bindung des gridview-Steuerelements, um die Ergebnisse der Abfrage, erhalte ich "Data source ist ein Ungültiger Typ. Es muss entweder ein IListSource, IEnumerable, oder IDataSource." Fehler - ich habe versucht, einige Lösungen in diesem forum mit .ToList(), aber ich bin nicht immer die intellisense .ToList(). GridView1.DataSource = user.ToList(); GridView1.DataBind();
Können Sie zeigen, wie Sie binden Sie das GridView? Bitte zeigen Sie die vollständige Page_Load-eventhandler.
Frexner ich die obige Methode in ein click-Ereignis, das nicht in der Page_Load-Methode.
Was ist der return-Typ der folgenden Abfrage: eFactory.SYMPOSIUM_Users.Wo(ein => ein.UserID = = "eval".Benutzer-id.Wert && ein.Aktiv.Wert && ein.UserRole == 1) wenn ich Recht habe sollte es ein IEnumerable von Ihrem Typ. Wenn das stimmt, sollten Sie in der Lage sein, es zu Binden nur durch Zuweisung an die DataSource des grid.

InformationsquelleAutor Ron | 2012-10-22

Schreibe einen Kommentar