문제

HTML 및 JavaScript (ExtJS를 통해)로 작성된 그리드의 프로토 타입/모형을 받았으며 이제 ASP.NET 웹 응용 프로그램 내에서 구현해야합니다. 누구나 데이터를 그리드로 전달하는 방법에 대한 포인터가 있습니까 (특히 GroupingStore, 특히).

XML/JSON을 반환하는 웹 서비스 또는 도우미 페이지가 확산되지 않기 때문에 클라이언트 콜백 또는 페이지 방법을 사용하는 방법이 있다면 (특히 어느 쪽도 익숙하지 않다고 말할 수 없다고 말할 수 없음) 또는 SOMESUCH, 그것은 선호 될 것입니다.

jQuery, 내장 ASP.NET 그리드 또는 기타 UI 프레임 워크를 사용하는 것이 좋습니다. EXTJS 그리드의 사용은 전력에 의해 의무화되었으므로, 그것이 내가 사용하는 그리드입니다. :)

도움이 되었습니까?

해결책

다음은 낮은 기술 솔루션입니다. 웹 서비스 또는 기타 추가 기술을 사용할 필요는 없습니다.

1 단계

하나의 매개 변수를 가져 오는 ASPX 페이지를 가지고 다음과 같이 호출했습니다.

http://mysite.com/query.aspx?sql=select * from orders where status = 'open'

2 단계

뒤에있는 코드에서 이와 같은 일을하십시오

void Page_Load(object sender, EventArgs e)
{
   Response.ContentType="text/json"; 
   DataTable contents = ExecuteDataTable(Request["sql"]);
   Response.Write( JRockSerialize( contents ) );
   Response.End();
}

당신이 사용할 수있는 JROCK 데이터 테이블을 JSON에 직렬화합니다. IMHO 이것은 가장 깨끗한 JSON을 제공합니다.

그래서 그게되고 있습니다 DataTable JSON에 정렬 ...

경고 : 이것은 분명히 단순한 예입니다. 안전하지 않으므로 쿼리 문자열에서 SQL을 전달해서는 안됩니다 (대신 명명 된 쿼리 및 매개 변수를 사용할 수 있음).

3 단계

extjs 코드 에서이에 표시된대로 JSON DataStore로 그리드를 만듭니다. ext 예제. 데이터 저장소를 설정하십시오 url: 적절한 쿼리 문자열 매개 변수가있는 query.aspx 페이지에.

ExtJS 예제에 다시 표시된 그리드의 열을 설정해야합니다.

또는 ...

내가 보았을 때 나는 정말로 감동했다 쿨 라이트 샘플 최근에. 그들은 EXTJS 파트너이며 좋은 ASP.NET & EXTJS 경험을 제공합니다. 그리고 아니요, 나는 그들을 위해 일하지 않습니다 :) 나는 그들의 그리드를 시도하지 않았지만 (가격으로) 고통 스러울 수 있습니다.

다른 팁

페이지에 대한 JSON 구조를 간단히 반환하는 서비스가 페이지 방법이 아닌 응용 프로그램에서 멋지게 추상화되고 재사용 될 수있는 최상의 옵션이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top