我已经创建了一个dojox.grid.DataGrid,我想对用户选择的行执行一些操作,因此,我已经发出警报来获取no。用户选择的行数。
我正在使用: var noofrows = grid.selection.getSelected()。length; 警报(noofrows); 获取用户在网格中选择的行数。 当用户选择一行时,上面的语句警告0,但是当用户选择1行时,它应弹出1。 当用户选择多行时,它会弹出用户选择的正确行数。
当用户选择一行时,选择多行(正确的结果是加速)后,弹出正确的输出,即:1。
所以,基本上问题是当用户第一次选择一行时弹出错误的输出(即:0)。
这是网格创建代码:
<table id="AA.FavouritesGrid" dojoType="dojox.grid.DataGrid"
region="center"
jsId="table"
id="table"
store="AAFavouritesStore" style="font-size:30px;width:100%;padding:0px;display:0px;">
<thead>
<tr>
<%
String userCode ="";
userCode = request.getUserPrincipal().getName();
try {
Map<String,String> columnNameLabelMap=model.getDynamicNameLabelmap("Favourites", userCode, locale);
// Loop round columns ordered by user
for (Map.Entry<String, String> entry : columnNameLabelMap.entrySet()){
int width = columnDataById.get(entry.getKey()).getWidth();
columnDataById.remove(entry.getKey());
%>
<th field=<%=entry.getKey() %> width="<%=width%>" height="22px" nowrap="nowrap"><%=entry.getValue()%></th>
<%
}
} catch (Exception e) {
System.out.println(e);
}
// Present any left over columns in default order
for (ColumnData entry : columnDataById.values()){
%>
<th field=<%=entry.getId() %> width="<%=entry.getWidth()%>" height="22px" nowrap="nowrap"><%=entry.getName()%></th>
<%
}
%>
<th field="path" hidden="true"></th>
<th field="underwritingYear" hidden="true" ></th>
<th field="lpRCTLobDesc" hidden="true" ></th>
<th field="lpRCTLob" hidden="true" ></th>
</tr>
</thead>
</table>
favContextMenu = dojo.connect(dijit.byId(“AA.FavouritesGrid”),“onCellContextMenu”,favouritesGridOnContextMenu);
function favouritesGridOnContextMenu(e){
警报(table.selection.getSelected()的长度。); }
请帮助解决问题
由于
答案 0 :(得分:0)
尝试以下两种方式获取所选项目和项目。
var e = dijit.byId("addressMapStoreGrid");
if (e.focus.rowIndex < 0) {
alert('Please select one row!');
return;
}
-
var items = grid.selection.getSelected();