У меня есть код ниже, чтобы сделать коллекцию, привязанную к сетке, способной сортировать, нажав на заголовок столбца.Проблема здесь в том, что «IPerson» неизвестен во время компиляции.Я хочу, чтобы тип делегата мог быть определен из источника данных gridview.
Dim list As List(Of IPerson) = CType(Session("DataSource"), List(Of IPerson))
Dim dataType As Type = list.GetType.GetGenericArguments(0)
Dim param = Expression.Parameter(dataType, e.SortExpression)
Dim sortExpression = Expression.Lambda(
Of Func(Of IPerson, Object))(
expression.Convert(
Expression.Property(param, e.SortExpression), GetType(Object)
), param)
GridView1.DataSource = list.AsQueryable.OrderBy(sortExpression)
GridView1.DataBind()