여기 gridview를 정렬하는 중 오류가 발생합니다.'System.Collections.Generic.List'형식의 개체를 캐스팅 할 수 없습니다. 'System.Data.DataSet'을 입력하십시오.
Unable to cast object of type System.Collections.Generic.List`1[<>f__AnonymousType5`8[System.Int32,System.String,System.Int32,System.Double,System.Int32,System.Double,System.Int32,System.Double]]' to type 'System.Data.DataSet'
2) VAR 결과의 데이터 유형은 무엇 또 다른 질문 : 내 데이터 소스 내가 LINQ 쿼리를 통해
protected void Page_Load(object sender, EventArgs e)
{
dt1 = obj1.Table1data().Tables[0];
dt2 = obj1.Table2data().Tables[0];
dt3 = obj1.Table3data().Tables[0];
var results = (
from table1 in dt1.AsEnumerable()
join table2 in dt2.AsEnumerable() on (int)table1["id"] equals (int)table2["id"]
join table3 in dt3.AsEnumerable() on (int)table1["id"] equals (int)table3["id"]
select new
{
id = (int)table1["id"],
S1= (int)table1["S1"],
P1= (double)table1["P1"],
P2= (int)table2["P2"],
P3= (double)table2["P3"],
P4 = (int)table3["P4"],
P5= (double)table3["P5"],
}).ToList();
Session["ds"] = results;
GridView1.DataSource = results;
GridView1.DataBind();
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
DataSet dataSet = (DataSet)Session["ds"];
DataTable dataTable = dataSet.Tables[0];
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
GridView1.DataSource = dataView;
GridView1.DataBind();
}
}
// here in the GridView1_sorting at DataSet dataSet = (DataSet)Session["ds"], I am getting an error
오류가 오전 VAR 결과입니다. 감사 일
안녕하세요. 답장을 보내 주셔서 감사합니다. 그러나 내가 어떻게 정렬을 제안 할 수 있습니다. 목록에 정렬을 구현해야합니까? 이러한 특성 무작위 이름입니다; I은 무효 GridView1_Sorting (개체를 보낸 사람, GridViewSortEventArgs 전자) 는 {.... ..... 이 var에 목록 = (목록) 세션 [ "DS를"]} 보호 의미 나는이 지위에있다. –
user575219
정렬 식을 확인한 다음 Linq'OrderBy' 메서드를 사용할 수 있습니다. 예를 들어,'var query = list.AsEnumerable(); if (e.SortExpression == "ID") {query = query.OrderBy (item => item.ID); }'더 많은 아이디어를 얻기 위해 객체의 목록으로 정렬 gridviews를 검색하십시오. –