2008-11-07 4 views
0

Dojo 콤보 박스를 Ajax 데이터 소스와 함께 사용하려고합니다. 내가 가지고있는 것은 내가 데이터가를 지정하기 위해 가져온되는 URL을 변경하는 방법을 모르기 때문에 내가 서버 측에서 설정 한 검색을 제한 할 수 있다는 점을 제외 작업을 수행dojo 콤보 상자 소스에 대한 동적 URL

<div dojoType="dojo.data.ItemFileReadStore" 
    jsId="tags" 
    url="<%=ResolveClientUrl("~/Tag/TagMatches")%>" > 
</div> 
<select dojoType="dijit.form.ComboBox" 
     store="tags" 
     value="" 
     name="tagName"> 
</select> 

입니다 매개 변수. 어떤 힌트?

답변

1

제대로 이해하면 클라이언트가 다른 곳에서 정의 된 몇 가지 일반적인 조건에 따라 서버와 다른 데이터 집합을로드해야합니다.

기본적으로 <div>을 미리 정의 할 필요가 없습니다. 또한 자바 스크립트에서 직접 ItemFileReadStore을 만들 수 있습니다

이전 ... :

var tagMatchUrlBase = '<%=ResolveClientUrl("~/Tag/TagMatches")%>'; 

나중에 ... :

var tagMatchUrl = tagMatchUrlBase + "?f=" + escape(somefilterString); 
var store = new dojo.data.ItemFileReadStore({url: tagMatchUrl}); 
tagName.store = store; 
// maybe use store.fetch() to pre-select item #1 
+0

를 사용해야하지만 솔루션 덕분에 큰했다. – stimms

0

일반적으로이 설계 ItemFileReadStore으로 수행되지 않습니다 서버에서 필터링하는 것보다 모든 데이터를 앞에 다운로드해야합니다.

오히려이 내 문제의 이상이었다 밝혀, 당신은 등 QueryReadStore, JsonReadStore,