1

ここでの理解のレベルをはるかに超えていますが、.NET データグリッド内のデータの並べ替え順序を変更する簡単な要求があります。システムは SubSonic を使用してデータベース クエリを実行しているようです。そのため、私には理解できず、推測できないレベルの抽象化があります;)。

.aspx ファイルの gridview コントロールの下に、次のような行があります。

<asp:ObjectDataSource ID="odsCsvReport" runat="server" SelectMethod="FetchAll" TypeName="WFlower.CsvReportController">
</asp:ObjectDataSource> 

プロジェクトで「CsvReportController」を検索しましたが、App_Code に「CsvReportController.cs」というファイルがあり、次のようなクラスがあります。

    [DataObjectMethod(DataObjectMethodType.Select, true)]
    public CsvReportCollection FetchAll()
    {
        CsvReportCollection coll = new CsvReportCollection();
        Query qry = new Query(CsvReport.Schema);
        //qry.OrderDesc("CsvReportID");
        coll.LoadAndCloseReader(qry.ExecuteReader());
        return coll;
    }

さて、このデータを「CsvReportID」フィールドで降順(現在は昇順)でソートする方法がわかりません。

誰でもこれに光を当てることができますか?私が言うように、私はここであまりにも深く入り込んでいますが、それはとても些細なことであるはずです.

ありがとう!

編集:さて、以下の@Mike Walshのコメントに従って、代わりにこれを試しました:

var qry = new Select().From(CsvReport.Schema); 
qry.OrderDesc(new [] {CsvReport.Columns.AssignedToID}); 
return qry.ExecuteAsCollection<CsvReportCollection>();

ただし、これは別の場所でまったく異なるエラーをスローします。

Violation of PRIMARY KEY constraint 'PK__OrdersToDelete__245EFE8C'. Cannot insert duplicate key in object 'dbo.OrdersToDelete'.
The statement has been terminated.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK__OrdersToDelete__245EFE8C'. Cannot insert duplicate key in object 'dbo.OrdersToDelete'.
The statement has been terminated.

Source Error: 

Line 187:      //Do database management.
Line 188:      int removedUsers = SPs.Hg_DeleteInactiveUsers(14).Execute();
Line 189:      int removedOrders = SPs.Hg_DeleteInactiveOrders(14).Execute();
Line 190:    }
4

1 に答える 1

0

2.1-2.2-2.3 の正確な違いを思い出すことはできませんが、これはコンパイルされますか?

    var qry = new Select().From(CsvReport.Schema); 
    qry.OrderDesc(new [] {CsvReport.Columns.AssignedToID}); 
    return qry.ExecuteAsCollection<CsvReportCollection>();
于 2012-08-09T14:02:56.043 に答える