Изменить код столбца GridView asp.net - PullRequest
0 голосов
/ 08 мая 2011

Я искал способ управления текстом, который появляется в определенном столбце GridView.

Например, рассмотрим базу данных с двумя таблицами Student и Class.

  1. Я хочу добавить в GridView столбец, который распечатывает всех студентов в базе данных,столбец покажет имя класса ученика, как это можно сделать?(Я обычно могу напечатать ClassId, так как это FK в таблице учеников)

  2. Я хочу добавить столбец в GridView, который печатает все классы, столбец будет подсчитывать количествоученики в каждом классе, как я могу это сделать?

1 Ответ

0 голосов
/ 08 мая 2011

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, чтобы помочь получить суммирование.

...