0

アプリケーションでアクティブなステータスを持つ施設の数をグリッドでユーザーに表示する必要があります。私はすでにクエリを持っていますが、明らかに 2 つの列を返します。1 つはステータス名、もう 1 つはカウントです。SQL Server のピボット列のようなものを使用し、row[0] を使用してオンザフライで列名とプロパティを設定する必要がありますか?

PS私はデータを表示するためにObout Gridを使用しています。

<obout:Grid ID="gridStatus" runat="server" FolderStyle="~/obout/grid/styles/style_6"
            AllowAddingRecords="False" AutoGenerateColumns="False" AllowColumnReordering="True"
            PageSize="10" ShowTotalNumberOfPages="True" AllowManualPaging="True" AllowFiltering="True"
            AllowMultiRecordSelection="false"
            PageSizeOptions="10,20,30,40,50,100,500,999">
            <Columns>
                <obout:Column DataField="name" HeaderText="Status" />
                <obout:Column DataField="statusTotal" HeaderText="Total"/>
            </Columns>
            <ScrollingSettings ScrollWidth="100%" />
            <FilteringSettings FilterLinksPosition="TopAndBottom" FilterPosition="Top" />
        </obout:Grid>

しかし、その形式は使用できません。列は各ステータスでなければなりません。

4

1 に答える 1

0

バックエンド SQL でクエリの結果をピボットするか、複雑になった場合は、2 列のデータを .NET コードに取得し、プログラムで DataTable を作成します (新しい DataTable の列数を、結果、「name」フィールドに従って列に名前を付け、「statusTotal」フィールドに従って 1 行のデータで埋めます)。

次に、obout グリッド セットAutoGenerateColumns="True"で を指定しないでください<Columns></Columns>。このようにして、グリッドはデータソースに従って列を生成します。

于 2013-08-13T17:20:31.373 に答える