Frage

Ich habe ein bisschen Probleme, das Paging -Szenario mit einem Gridview zu sortieren.

Ich habe den folgenden Rasteransichtscode

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
               style="z-index: 1; left: 20px; top: 440px; position: absolute; height: 133px; " 
        AllowPaging="True" AllowSorting="True" Font-Size="Small" 

        PageSize="2" onpageindexchanging="GridView1_PageIndexChanging">
        <Columns>

Mit den folgenden

  protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
}

Jetzt bekomme ich eine "TargetInvocationException wurde durch den Benutzercode nicht behandelt".

Als Neuling ist dies außerhalb meiner aktuellen Fähigkeiten und hat mich etwas verwirrt. Wie kann ich meine Rasteransicht ordnungsgemäß binden, damit der Paging korrekt funktioniert?

War es hilfreich?

Lösung 3

Die Bindung war tatsächlich in Ordnung. Dies wurde schließlich sortiert, indem ein Primärschlüssel hinzugefügt wurde (was ich wirklich in erster Linie hätte enttäuschen sollen!)

Wenn jemand dies liest, kann sein Gridview durch eine ObjectDataSource nicht auf Seite bringen, stellen Sie sicher, dass Sie einen Primärschlüssel haben !!!

Andere Tipps

Hier werden die Dinge interessant! Ich verwende eine LINQ -Datenquelle:

<asp:LinqDataSource ID="**lqPackWeights**" runat="server"
        ContextTypeName="ORWeightsDataClassesDataContext" 
        Select="new (UnitId, UnitDescription, PackagingTypeCode, UnitWeight, WeightUnitCode, RecycledContent, IsBiodegradable, Recyclability, RevisionSourceCode, RevisionDate, ExtendedMaterialName, MaterialText, WeightStatus, ProductPercentage, UnitUserfield1, UnitUserfield2, IDDesc, MaterialLevel)" 
        TableName="tblOnlineReportingCOMPLETEWeights" Where="IDDesc == @IDDesc">
    </asp:LinqDataSource>

LQPACKWEIGHTS werden damit generiert:

private object GetMaterialData(string MemberKey, string MaterialType, string MaterialLevel, int Count)
{
    ORWeightsDataClassesDataContext db = new ORWeightsDataClassesDataContext();
    var query = db.tblOnlineReportingCOMPLETEWeights
                .Where(x => x.MaterialLevel == MaterialLevel && x.MaterialText == MaterialType && x.MemberId == MemberKey)
                .OrderByDescending(x => x.ProductPercentage).Take(Count);
    return query;
}

Protected void btsearch_click (Objektabsender, EventArgs e) {

    lqPackWeights.WhereParameters.Clear();
    ControlParameter cp = new ControlParameter();
    cp.Type = TypeCode.String;


    if (radBuyer.Checked)
    {
        cp.ControlID = "ddlProd";
        cp.PropertyName = "SelectedValue";
        cp.Name = "IDDesc";
        lqPackWeights.WhereParameters.Add(cp);
        GridView1.DataSourceID = "lqPackWeights";
        GridView1.DataBind();
    }

    else if (radProd.Checked)
    {
        cp.ControlID = "tbxProdAC";
        cp.PropertyName = "Text";
        cp.Name = "IDDesc";
        lqPackWeights.WhereParameters.Add(cp);
        GridView1.DataSourceID = "lqPackWeights";
        GridView1.DataBind();
    }

Ich vermute, ich habe eine zu viele Bindungen, die herumtrieben ... wie Sie es wahrscheinlich aus meinem Code erzählen können, ist das neue Territorium für mich, also sei sanft mit dem Missbrauch!

Ok, ich habe ein paar Orte gelesen, die ich in die Datenquelle geworfen habe, damit ich jetzt den folgenden Code habe

 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataSourceID = "lqPackWeights";
}

Wenn ich die Seite nun erstelle, funktioniert sie gut, aber wenn ich auf Seite 2 von X klicke, erhalte ich diese böse kleine Nachricht:

Serverfehler in der Anwendung '/onlinereportingfunctioning'.

Dieser Anbieter unterstützt Skip () nur über geordnete Abfragen zurück, die Rückkehrer oder Projektionen enthalten, die alle Identitätsspalten enthalten, wobei die Abfrage eine Single-Tisch-Abfrage (Nicht-JOIN) ist oder eindeutig ist, außer dass sich überschneidet oder gewerkschaftlich (nicht übereinstimmt) ist (nicht eine Hokulatur). Betrieb.

Was ist das dann?!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top