0

CRUDクラスでこのように取得したデータベースからレコードのリストを取得しました(エンティティフレームワークを使用しており、Model.questionはCRUDコードを持つクラスです):

        public IList<Model.questionhint> GetRecords(int listTask, int listActivity)
    {
        IList<Model.questionhint> lstRecords = context.questionhints.ToList();
        return lstRecords.Where(a => a.TaskID == listTask && a.ActivityID == listActivity).ToList(); 

    }

そして、これは私の xaml.cs から呼び出す方法です:

 IList<Model.questionhint> lstQuestionHints = qh.GetRecords(taskID, activityID);

        StackPanel sp = new StackPanel();
        foreach (Model.questionhint qhm in lstQuestionHints)
        { //Code here
        }

しかし、私のデータベーステーブルには、列呼び出し questionNo があり、一部のレコードには同じ questionNo 、 activityID 、および taskID があります。一部のレコードには、同じ activityID と taskID がありますが、 questionNO が異なります。これは私のデータベーステーブルがどのように見えるかです:

ここに画像の説明を入力

現時点では、すべてのレコードを (foreach ループを使用して) うまく表示できますが、同じ activityID 、 taskID 、 questionNo のレコードを 1 行にまとめてグループ化することで、すべてのレコードが次のように行ごとに区切られます。

ここに画像の説明を入力

みたいになりたい

私は[答え]毎日午後に昼寝をします

太陽[答え]は地球の周りを動きません。

CRUD でグループごとのクエリを実行しようとしました (私はラムダ式を使用しています) が、いくつかの igrouping とデータ シェーピングの理由により失敗します (これは良くありません)。これを簡単に行う他の方法はありますか?

私が念頭に置いているのは foreach loop を使用することですが、 questionNo の次の値を取得できますか? たとえば、このループの questionNo は 1 です。次のループの questionNo が同じかどうかを確認したいのですが、同じでない場合は次の行に追加しますが、同じ場合は次の行に追加します同じ行。しかし、私はプログラミングと WPF/C# が初めてなので、パネルやものは苦手です。

事前に感謝します。

4

1 に答える 1