0

GridView の特定の列に表示されるテキストを制御する方法を探していました。

たとえば、Student と Class の 2 つのテーブルを持つデータベースを考えてみましょう。

  1. データベース内のすべての学生を出力する列を GridView に追加したいのですが、列には学生のクラス名が表示されます。どうすればよいですか? (学生テーブルのFKであるため、通常はClassIdを出力できます)

  2. すべてのクラスを印刷する GridView に列を追加したいのですが、列は各クラスの生徒数をカウントします。どうすればよいですか?

4

1 に答える 1

0

1-内部結合またはストアドプロシージャを使用して、クエリで必要なすべてのデータに加えてクラス名を取得できます。

2-あなたが望むことをするための複数の方法:

例: データ テーブル (空の列) に列を追加し、後でSum()クエリで集計関数を使用して入力することができます。

        DataTable result_dt = DAL_Helper.Return_DataTable(sqlSelect);//your original query
        result_dt.Columns.Add("NumberOfStudent");
        result_dt.Columns["NumberOfStudent"].DataType = typeof(string);
        result_dt.Columns["NumberOfStudent"].MaxLength = 255;

        if (result_dt.Rows.Count > 0)
        {
            for (int i = 0; i < result_dt.Rows.Count; i++)
            {
               //Here u can fill your new empty column.
            }
        }
        result_dt.AcceptChanges();

カスタマイズしたデータ テーブルを (データ ソースとして) 返したら、それをグリッド ビューにバインドできます。

別の解決策:空の列をグリッド ビューに追加します。RowDataBound グリッド ビューの場合は、ループを介してこの列を埋めることができLINQ、合計を取得するために使用できます。

于 2011-05-08T14:07:45.367 に答える