-1

正常に動作するDevExpressグリッドビューがありますが...バインドされたモデルでは、「VisitTypes」のコレクションでもあり、処理方法がわかりません..

タイプ「VisitTypeSummary」のリスト(コレクション)です。

私がやろうとしているのは、このコレクションの各アイテムに新しい列を追加することです。コレクションは次のようになります。

  1. VisitTypeId
  2. 名前
  3. カウント

したがって、結果は次のようになります (項目数が 3 の場合)。

  • Col1 : エリア
  • Col2 : 名前
  • Col3 : 住所
  • Col4 : VisitTypeSummary[0].Name
  • Col5 : VisitTypeSummary[1].Name
  • Col6 : VisitTypeSummary[2].Name
  • Col7 : 最終訪問日

などなどなど....

問題は、実際の方法がわからないことです.. PartialView でモデルにアクセスし、foreach(Model.VisitTypeSummary の var item) を実行してこれを達成しようとしていますが、間違っているようで、においがします..

ここにいくつかのコードがあります:

var grid = Html.DevExpress().GridView(settings => {
-- etc -->

settings.Columns.Add("AntButikkMedBesoeksKode");
settings.Columns.Add("BesoeksProsent");

foreach (var VisitTypeSummary in the-model-i-cannot-figure-out) )
    {
    // add new column to the gridview                                                      
    }

settings.Columns.Add("AntKundeBesoek");
settings.Columns.Add("SumBesoekForSelger");
settings.Columns.Add("SnittBesoekPrDagSelger");

// and bind it in the end..
@grid.Bind(Model).GetHtml()

だから..誰も私がこれを行うことができる方法を知っていますか? しばらくグーグルでしたが、成功しませんでした。

4

1 に答える 1

1

マスターとディテールの関係を説明しているように聞こえます。モデルの各レコードには、VisitTypeSummary のコレクションがあります。

ここで DevExpress デモを参照してください

メイン モデルがマスター データセットとして表示されている間に、VisitTypeSummary コレクションを詳細ビューに配置することをお勧めします。詳細ビューには、VisitTypeSummary の名前をリストする 1 つの列が表示されます。クラスが拡張された場合は、後で列を追加できます。

これにより、マスター グリッド ビューの列の総数が減るため、ユーザー インターフェイスが簡素化され、使いやすさが向上します。

編集:私のコメントによると、グリッドにこれらの列が本当に必要な場合は、for ループを使用してそれらを追加できます。

for (int i = 0; i < VisitTypeSummary.Count; i++)
{
    settings.Columns.Add(string.Format("VisitTypeSummary[{0}].Name"), i);
}
于 2014-05-28T05:51:06.720 に答える