격자 행 (HtmlElement)을 선택하고 CSS 클래스를 적용하려고합니다. ext2에서 그리드의 행을 선택할 수 없습니다.Extends에서 HTMLELEMENT로 gridpanel 행을 선택하는 방법 4
checkboxSelectionModel 패턴에서 행을 선택하고 cls를 추가/삭제하려고합니다. 1.X extjs에서 코드는 그 것처럼 보입니다.
function UncheckCheckHeader(control)
{
var grid=<%=grdForms.ClientID%>;
var hd =Ext.get(grid.getView().getHeaderCell(0).childNodes[0]);
var store = grid.store;
if(store.getCount()== control.getCount())
{
if(!hd.hasCls('x-grid3-hd-checker-on'))
{
hd.addCls('x-grid3-hd-checker-on');
}
}
else
{
if(hd.hasCls('x-grid3-hd-checker-on'))
{
hd.removeCls('x-grid3-hd-checker-on');
}
}
}
및 헤더를 클릭은 다음과 같습니다
<HeaderClick Fn="function(ct, column, e, t, eOpts)
{ debugger;
if(column.getIndex() == 0)
{
var hd = Ext.fly(e.target.parentNode);
var isChecked = hd.hasCls('x-grid3-hd-checker-on');
var showSelectedOn=false;
if(!showSelectedOn)
{
if(isChecked)
{
selectionHeaderChecked=true;
#{checkSelectionModel}.setLocked(false);
#{checkSelectionModel}.selectAll();
#{checkSelectionModel}.setLocked(true);
}
else
{
selectionHeaderChecked=false;
#{checkSelectionModel}.setLocked(false);
#{checkSelectionModel}.deselectAll();
#{checkSelectionModel}.setLocked(true);
}
}
else
{
if(!selectionHeaderChecked)
{
hd.addCls('x-grid3-hd-checker-on');
}
else
{
hd.removeCls('x-grid3-hd-checker-on');
}
}
}
}" />
내가 CheckBoxSelectionModel과는 ExtJS 그리드가 있습니다. 머리글 확인란을 선택하면 모든 레코드가 검사되고 확인란의 선택을 취소하면 모든 레코드가 선택 취소됩니다. 물론 동작입니다. 내 표에 선택한/모든 레코드를 삭제하는 삭제 단추가 있으며 정상적으로 작동합니다.
지금 내 문제는 헤더에서 확인란을 선택하면 (전체 레코드가 선택 될 수 있도록) 내 삭제 버튼을 누르면 그리드의 전체 레코드가 삭제됩니다. 그러나 열 머리글의 확인란 선택은 여전히 확인 된 상태로 유지됩니다.
다음 코드를 사용했습니다. grid.getSelectionModel(). DeSelectAll(); 삭제 후 선택을 취소합니다. 이 코드는 그리드의 레코드에만 적용되며 열 머리글 부분과 아무 관련이 없습니다. 어떤 방법이 있더라도 머리글에서 chekbox를 선택 취소 할 수 있습니까?
자세한 조사에서 CheckBoxSelectionModel에 표시된 확인란이 html 확인란이 아니라 이미지라는 것을 알고 놀랐습니다. 그래서 DOM 개념을 사용하여 체크 박스를 선택 취소하는 아이디어는 여기에 적용 할 수 없습니다. 대신 CSS 트릭을 수행해야합니다.
누구든지 전에도 그런 문제에 직면 했습니까? 이것에 대한 해결책이 있습니까? 어떤 도움을 주시면 감사하겠습니다. 감사! 우리는 많은 방법으로 할 수
여기에 머리글 셀을 찾고 있습니다 ... – user2110717