$("#Email_datagrid").datagrid("beginEdit", index);
时间: 2023-07-19 11:56:06 浏览: 50
这段代码的作用是使 Email_datagrid 表格中的某个指定行进入编辑状态。具体来说,它通过 `$("#Email_datagrid")` 获取表格的 jQuery 对象,然后调用 `.datagrid("beginEdit", index)` 方法,将 `index` 参数作为指定行的索引位置,使该行进入编辑状态。在编辑状态下,用户可以修改该行的数据。
相关问题
var index=$('#Email_datagrid').datagrid('getRowIndex',$('#Email_datagrid').datagrid('getSelected')); $("#Email_datagrid").datagrid("beginEdit", index); emailDatagrid.isEditing = true; emailDatagrid.editingIndex = index;不起作用
这段代码的作用是获取选中行的索引,并将该行的状态设置为编辑状态。具体来说,它通过 `$('#Email_datagrid').datagrid('getSelected')` 获取当前选中的行,然后通过 `$('#Email_datagrid').datagrid('getRowIndex', selected)` 获取选中行的索引。接着,它通过 `$("#Email_datagrid").datagrid("beginEdit", index)` 将选中行设置为编辑状态。最后,它将 `emailDatagrid.isEditing` 设置为 `true` 表示表格正在编辑状态,并将 `emailDatagrid.editingIndex` 设置为选中行的索引,以便在编辑表格数据时知道要编辑哪一行的数据。
如果这段代码不起作用,可能是因为选中行的索引获取失败,或者表格没有正确初始化。请确保表格数据已经正确加载,并且存在选中行。另外,如果表格使用了分页功能,请注意需要在当前页内选中行才能进行编辑。
$(this).datagrid("beginEdit", index); var temp; var url = "/manage/platform/commodity/baseCommodityModelCp/getConfigInfoList?commodityId="+rows[index].commodityId $.ajax({ url:url, async:false, //同步请求 dataType:"json", success:function(data){ temp = data; } }); var configTarget= $(this).datagrid("getEditor",{index:index,field:"commodityConfig"}).target configTarget.combobox('loadData',temp); $(this).datagrid("endEdit", index);
根据你提供的代码,我可以看到下拉框无法加载数据的原因。在beginEdit和endEdit之间,你使用了异步的ajax请求去获取数据,但是你没有等到ajax请求完成就立即使用temp去加载下拉框的数据源。因此,temp可能是空的或者未能正确地获取到数据。这就导致了关闭editor后,下拉框中无法显示任何值。
为了解决这个问题,你可以将异步请求改为同步请求,或者在ajax请求完成后再去加载下拉框的数据源。以下是一个可能的解决方案:
```
$(this).datagrid("beginEdit", index);
var url = "/manage/platform/commodity/baseCommodityModelCp/getConfigInfoList?commodityId="+rows[index].commodityId;
$.ajax({
url: url,
async: false, //同步请求
dataType: "json",
success: function(data){
var configTarget= $(this).datagrid("getEditor",{index:index,field:"commodityConfig"}).target;
configTarget.combobox('loadData', data);
}
});
$(this).datagrid("endEdit", index);
```
在这个解决方案中,我将ajax请求放在了success回调函数中,以确保在获取数据后再去加载下拉框的数据源。同时,我也删除了temp变量,因为它不再需要了。