1

100,000 件を超えるレコードを含むデータベースに問題があります。MVC 3 を使用して Web サイトを作成する必要があります。この Web サイトには、スライサーまたはピボット テーブルを使用するときに Excel が行うのと同じように、必要な 4 つの重要なフィールドが表示されるため、私の仕事の古いタイマーは、Web サイトで慣れ親しんでいるのと同じ形式で表示されます。 . 現在のツールは、ユーザーが見る必要がある詳細に応じて、ユーザーが領域を拡大または縮小できるようにする Excel ピボット テーブルです。

現在、ピボットテーブルは次のようになっています

領域

+++ プログラム

+++++サブプログラム

++++++++++プロジェクト

スライダー展開の描画が悪くてすみません**

私が使用しているデータベースとコーディング システムは、MS SQL SERVER 2008 R2 と ASP.net と MVC 3 です。したがって、私がする必要があるのは、Area から始めて、まだリストされていないエリアを含む個別のレコードを見つけてリストすることです。それらを降順で。

エリア1

エリア2

エリア3など…

次に、個別の領域をすべて見つけたら、各セクションの個別のプログラム、サブプログラム、およびプロジェクトをすべて表示する必要があります。私は MVC が初めてで、現在知っている方法は、html ヘルパー displayFor を使用して、データベース内のすべてのレコードを含むリストを表示することだけです。

この元のようなもの。

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.AREA)
        </td>

ラムダまたはSQLステートメントを使用して結果を絞り込むか、目的の結果を得る別の方法である必要があります。このような問題を解決する方法に関するアドバイスやチュートリアルは、この質問への回答と同じくらい高く評価されます。役立つコードを投稿できます。お尋ねください。お時間をいただき、ありがとうございました。

現実的なモデル

using System;
using System.Collections.Generic;

namespace DBFirstMVC.Models
{
    public partial class realistic
    {
        public string CAF_ID { get; set; }
        public Nullable<int> CC { get; set; }
        public string INVESTMENT_AREA { get; set; }
        public string MAJOR_PROGRAM { get; set; }
        public string DIVISION { get; set; }
        public string CLARITY_ID { get; set; }
        public string SPA { get; set; }
        public string PA { get; set; }
        public string PROJECT_NAME_ORIG { get; set; }
        public string PROJECT_NAME { get; set; }
        public string HIA { get; set; }
        public string HMP { get; set; }
        public string RESOURCE_MGR { get; set; }
        public string RESOURCE_TYPE { get; set; }
        public string RESOURCE { get; set; }
        public string PRIMARY_VENDOR { get; set; }
        public string DESCRIPTION { get; set; }
        public Nullable<int> CONFIDENCE_1Q { get; set; }
        public Nullable<int> CONFIDENCE_2Q { get; set; }
        public Nullable<int> CONFIDENCE_3Q { get; set; }
        public Nullable<int> CONFIDENCE_4Q { get; set; }
        public Nullable<System.DateTime> ACCOUNTING_PERIOD { get; set; }
        public Nullable<decimal> VALUE { get; set; }
        public int REALISTIC_PK { get; set; }
    }

}

インデックス ビュー

@model PagedList.IPagedList<DBFirstMVC.Models.realistic>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}


<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>

        <th>
            INVESTMENT AREA
        </th>

        <th></th>
    </tr>
@foreach (var item in Model.Distinct()) {
    <tr>
        <td>

            @Model.Select(c => c.INVESTMENT_AREA).Distinct()

        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.REALISTIC_PK }) |
            @Html.ActionLink("Details", "Details", new { id=item.REALISTIC_PK}) |
            @Html.ActionLink("Delete", "Delete", new { id=item.REALISTIC_PK })
        </td>
    </tr>
}

</table>
4

0 に答える 0