У меня есть GridView, который я заполняю с помощью запроса Linq
var usersToApprove = from rl in QVDash.Permisisons
join u in QVDash.Userson rl.UserId equals u.UserId
join d in QVDash.Dashboards on rl.DashboardId equals d.DashboardId
where (u.ApprovedBy == approverId || isGod)
select new
{
PermissionId = rl.PermissionId,
Name = u.Name,
Area = u.Area,
Dashboard = d.DashboardName,
OpUnit = rl.Operational_Unit,
Cost_Centre = rl.Cost_Centre,
Fund = rl.Fund,
Project = rl.Project,
Approver = (from a in QVDash.Users where a.UserId == u.UserId && a.UserId == u.ApprovedBy select a.Name).FirstOrDefault()
};
grd_CurrentUsers.DataSource = usersToApprove ;
grd_CurrentUsers.DataKeyNames = new string[] { "PermissionId" };
grd_CurrentUsers.DataBind();
Это, однако, создает проблему, когда GridView не разрешает сортировку.
Я пробовал несколько вариантов, которые я нашел, которые прибегают к созданию пользовательской функции сортировки, однако я обнаружил, что это в лучшем случае схематично, такие проблемы, как: сортировка только одним способом, подкачкасбрасывает сортировку и т. д.
Я хочу знать, есть ли лучший способ сделать это.
Я знаю, что привязка gridView к источнику данных решает проблему сортировки,однако я не знаю, как связать мой Linq с источником данных.Возможно ли это?