- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将开源 jqGrid 插件与 EF4 和 ASP.NET Web 窗体一起使用。我需要根据数据库中的列值在可在线编辑的网格行中设置输入元素。例如,第一行可以包含一个 DDL,第二行可以包含一个复选框等。
我正在尝试使用 custom_element
来实现这一点和 custom_values
,像这样:
$("#grid1").jqGrid({
url: 'Default.aspx/getGridData',
datatype: 'json',
...
colModel: [
...
//contains the input type ('select', etc.)
{ name: 'InputType', hidden:true },
...
//may contain a string of select options ('<option>Option1</option>'...)
{
name: 'Input',
editable:true,
edittype:'custom',
editoptions:{
custom_element: /* want cell value from InputType column here */ ,
custom_value: /* want cell value from Input column here */
}
},
...
]
});
jqGrid docs说我可以调用自定义函数来设置 custom_element
和 custom_values
,但我不知道如何捕获列值并将它们传递到我的自定义函数中。
用于设置 custom_values
,我确实注意到了Oleg's nice solution使用 list:
参数,但这似乎涉及额外的 Ajax 调用。我想避免这种情况,因为我已经从对网格的初始 Ajax 调用中获得了所需的所有数据。
总而言之,在内联编辑模式下我需要执行以下操作:
我也愿意跳过使用 custom_element
和 custom_values
, 但后来我仍然面临动态设置 edittype
的相同问题和 editoptions:{value:}
参数。
关于如何做到这一点有什么想法吗?我应该采取其他方法吗?
更新:感谢您为帮助我所做的努力。根据请求,这是我的 JSON 响应的缩写示例:
{"d":[
{"Input":null,"InputType":"select"},
{"Input":"From downtown, proceed west on Interstate 70.", "InputType":"text"}
]}
有了这些数据,我想在一行中显示一个空的选择,在下一行显示一个填充的文本字段。两者都是可内联编辑的。
解决方案:我回到这个问题是为了找到一个不涉及使用custom_element
的解决方案。和 custom_values
.这是我更改 edittype
的解决方案(基于下面的 accepted answer)和 editoptions
:
loadComplete: function () {
var rowIds = $("#grid1").jqGrid('getDataIDs');
$.each(rowIds, function (i, row) {
var rowData = $("#grid1").getRowData(row);
if (rowData.InputType == 'select') {
$("#grid1").jqGrid('restoreRow', row);
var cm = $("#grid1").jqGrid('getColProp', 'Input');
cm.edittype = 'select';
cm.editoptions = { value: "1:A; 2:B; 3:C" };
$("#grid1").jqGrid('editRow', row);
cm.edittype = 'text';
cm.editoptions = null;
}
});
}
Nota Bene:对我来说重要的一件事是记住设置 editoptions
返回null
, 在调用 editrow
之后.此外,正如 Oleg 在评论中提到的那样,避免使用自定义元素使我能够毫不费力地实现日期选择器输入。这对我的应用程序很重要,所以我最终接受了 Oleg 的回答,但我仍然赞成 Walter 的回答。如果这是不好的形式,我真诚地道歉。我只是想奖励最适合我的解决方案。
最佳答案
如果您使用倾斜编辑,您可以直接在代码中的某处调用 editRow
方法。在 editRow
方法内部,将检查和使用 colModel
中与编辑相关的所有选项。因此,您可以动态更改任何选项,例如editable
、edittype
或editoptions
。 The answer显示了如何更改 editable
属性。您可以用同样的方式更改任何其他属性。
如果需要,您可以在 loadComplete
事件句柄中设置有关编辑类型和选项的信息。它有 data
参数代表从服务器发送的原始数据。因此,您可以使用其他信息扩展数据,并根据信息为任何列设置 editable
、edittype
或 editoptions
。
关于c# - jqGrid - 如何根据*初始*列值设置自定义编辑选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535942/
我添加了编辑按钮 self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButto
我试图在运行时“干净地”更改 UIBarButtonItem 文本,以便可以切换编辑/完成模式。然而,每次我在运行时更改 title 属性时,动画看起来都很笨拙。我正在寻找模拟联系人应用程序中“编辑/
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我想更改 INI 文件中的一些值。不幸的是,我在 2 个不同的部分有键,它们共享相同的名称但需要不同的值。我的代码使用 Get-IniContent函数来自 PsIni . 示例 INI 文件: [P
是否有通知或委托(delegate)方法可用于检测表格 View 何时进入编辑状态? 我想要做的是检测表正在编辑,然后显示一个额外的行,上面写着“添加新项目”或类似的东西。 我尝试在加载 View C
例如,我试图从 svg 读取样式块,我可以获取类型但不能获取字符串。 $svgTemplate = new SimpleXMLElement($_POST['SvgTemplateImport']);
我可以使用 self.navigationItem.leftBarButtonItem = self.editButtonItem; 通过按下导航面板上的编辑按钮让 UITableViewContro
我正在使用markitup!作为 Markdown 编辑器( example )。 目前,我需要按预览按钮(绿色勾号)来显示预览面板。 我希望自动显示预览 - 我怎样才能实现这一点? 最佳答案 我没有
我的处境非常糟糕。我丢失了源代码,客户需要在应用程序中进行一些更改。想想一个编辑程序集的例子:Test.dll,然后添加代码行,最后重新编译它 所以我的问题是: -可以这样做吗? -如果可能的话,什么
我使用了一些 JavaScript 来通过按钮更改段落元素的内容。它工作正常,但我还想让按钮控制标题和附图。给我指明正确的方向吗? 这是我用来更改段落的代码 .... 谢谢! 最佳答案 尝试将 Ja
是否有任何 Emacs lisp 插件可以让我轻松地在 yaml 文件中编辑或输入数据。 例如: --- sample yaml file ---Name : Addr :City :State:Zi
新手Java问题,我确定已经解决了,但是在任何地方都找不到解决方案:( 我想使用这里包含的java程序http://sourceforge.net/projects/ant-tibco/files/
在我的网页中,我使用了 gridview。在这个 GridView 中,它显示了一组用户信息。我刚刚从智能标签菜单中添加了一个按钮。我的要求是当我点击每个用户对应的按钮时,它会重定向到另一个页面并显示
我想在没有任何框架的情况下直接在 JS 中编辑一个 SVG 文件。 基本上我有一个 SVG 主文件,其中应该包含一些子 SVG。 我已经在 Ajax 中检索了这些子项的内容,但我想将它们插入到 SVG
我有我的 ViewModel,我有我的 Controller 可以从 ViewModel 正确显示,但是我不确定如何使 ViewModel 可编辑,以便将编辑后的数据发送回模型。我只想编辑 Order
我不确定我的做法是否正确。 IplImage *dog_1 = cvCreateImage(cvGetSize(oriImg), oriImg->depth, oriImg->nChannels);
我有一个创建二维码的网络服务器。在此过程中,我得到一个 BarcodeQRCode 对象,我可以从中获取图像 (.getImage())。 我不确定如何将这张图片发回给客户。我不想将它保存在文件中,而
已编辑:我的第一个问题解决了,但又出现了另一个问题,只提供了一个用户 ID。这是修改后的代码的屏幕截图。 回到表格,用户将按下编辑按钮,这样他就可以编辑问题并给出适当的操作.. 我的上表代码是这样的:
据我了解,我无法通过重新启动服务器来清除 MySQL 查询缓存。 每次运行 sql 时,我都试图获得与第一个代码块类似的结果 1-这是在重新启动 Apache 和 MySQL 之前(第一次使用这些查询
我正在创建一个页面来搜索项目,然后能够编辑/更新它。当它只返回一个结果时我能够做到这一点,但当它给我多个结果时我只能编辑最后一项。下面是我的代码: ....... $dj =$_POST[djnum]
我是一名优秀的程序员,十分优秀!