Javascript解决Oracle没有布尔类型的问题

Javascript work-around for Oracle not having a boolean type?

本文关键字:类型 问题 布尔 解决 Oracle Javascript      更新时间:2023-09-26

我有一个web应用程序,使用Ext.gridEditorGridPanel来显示和修改Oracle数据库中的数据。

这对于在文本框中显示字符串值非常有用——无论是显示还是修改数据。然而,当我发现敲打我的头一段时间后-它不工作显示复选框中的布尔值-因为Oracle没有布尔类型。

所以,我要让数据库将布尔值表示为'Y'或'N'而不是真或假-并尝试将它们映射到我在网格中手工创建的复选框。

到目前为止,我已经能够渲染网格中的复选框,并通过手动渲染它们,使它们正确显示为选中或未选中,就像这样…

{
    dataIndex: 'isActive',
editable: true,
sortable: true,
renderer: function(value) {
    return "<input type='checkbox'" + ((value == 'Y') ? "checked='checked'" : "") + ">";
    },
}

但是,当用户单击save时,我在尝试将值保存回数据库时遇到了困难。

真的,如果我能弄清楚如何遍历网格并获得每个有复选框的单元格的值,我就可以把它传递给一个函数来更新服务器上的数据。

到目前为止,我已经能够得到这样一个单元格-但没有运气试图确定单元格内的复选框是否被选中…

var grid = getMyEditorGridPanel();
grid.getView().getCell(0,1).firstChild

有什么建议吗?

提前感谢,蒂姆。

我会尝试实现布尔支持层尽可能接近数据源。:

  1. 我配置模型字段为布尔值
  2. 我将配置trueRe,以便它将评估'Y'为true
  3. 我将实现serialize函数,将true和false转换为'Y'和'N'之前发送到服务器。

这样你就可以在Ext中操作,就好像Oracle支持布尔值一样