템플릿을 사용하여 검도 UI 목록보기를 사용하면 조건부로 기본 데이터를 기반으로 요소가 숨겨집니다.데이터를 변경할 때 포커스가 끊어지는 검도 목록보기
<script type="text/x-kendo-template" id="template">
<div class="product">
<img src="../content/web/foods/#= ProductID #.jpg" alt="#: ProductName # image" />
<h3>#:ProductName#</h3>
<p>#:kendo.toString(UnitPrice, "c")#</p>
<div>
# if (Discontinued) { #
Discontinued Product
# } #
</div>
</div>
</script>
을 내가 다음 코드를 사용하여 단종 설정하려면 기본은 dataSource 항목을 수정하는 경우 : 다음과 같이 예는 것 인덱스가 현재 선택된 항목 인 경우
data[index].set('Discontinued', true);
를 그 항목에 초점을 푼다 및 더 이상 선택되지 않습니다.
다음 도장 예제 http://dojo.telerik.com/UlOze을 참조하고 목록에서 항목을 선택한 다음 단종되도록 설정하십시오.
누구든지이 문제에 대한 해결책/해결 방법을 찾았습니까?
감사합니다. 내가 솔루션을 함께 조합해서 아래
------------- 최종 솔루션 --------------
dimodi의 대답에 이어 .. 이 작업을 수행하려면 dataSource에 스키마 -> 모델 -> id 특성 세트가 있어야합니다.
1 캡처 현재 선택된 데이터 항목 :
var selectedItem = $(listElement).find(".k-state-selected");
var selectedDataItem = list.dataItem(selectedItem);
2 : 데이터 항목을 다시 찾아 K-국가 선택 클래스를 설정 .SET 호출 한 후. 목록 요소가 uid를 다시 생성하기 때문에 이것은 필수입니다.
if (selectedDataItem) {
var newSelectedItem = list.dataSource.get(selectedDataItem.ProductID)
var uid = newSelectedItem.uid;
jQuery("[data-uid='" + uid + "']").addClass("k-state-selected");
}
이 솔루션을 보여주기 위해 원본 도장을 업데이트했습니다. 다른 사람에게 도움이됩니다.
기본 데이터가 변경되었을 때 addClass가 작동하지 않지만 아무것도 변경되지 않으면이 솔루션이 작동하지 않는 것 같습니다. 나는 setTimeout을 사용하여 도움이되는지 아닌지 알아 보았지만 기쁨은 없었다. 이 일을하기 위해 다른 것을해야합니까? – ciantrius
위의 설명을 용서하십시오. 나는 단지 listview가 데이터 소스 요소의 uid를 재생성하는 것으로 나타났습니다. 나는이 문제를 극복하기 위해 코드를 수정했으며 이제는 작동한다. – ciantrius