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