Javascript 向Dojo数据网格列Xpages添加约束

Javascript 向Dojo数据网格列Xpages添加约束,javascript,dojo,xpages,dijit.form,Javascript,Dojo,Xpages,Dijit.form,如何向Dojo布局中的djxDataGridColumn添加货币约束 在编程方面,我将使用: { name: 'Amount', field: 'col5', formatter: formatCurrency, constraint: {currency: 'EUR'}, widgetClass: HorizontalSlider, width: 10} 但我如何在XPages中实现这一点: <xe:djxDataGridColumn id="djxDataGridColumn10"

如何向Dojo布局中的djxDataGridColumn添加货币约束

在编程方面,我将使用:

{ name: 'Amount', field: 'col5', formatter: formatCurrency, constraint: {currency: 'EUR'}, widgetClass: HorizontalSlider, width: 10}
但我如何在XPages中实现这一点:

<xe:djxDataGridColumn id="djxDataGridColumn10" editable="true" label="Amount " field="Amount " width="50px" cellType="dojox.grid.cells._widget"
formatter="formatCurrency">
</xe:djxDataGridColumn>
输入字符串时出现错误消息 西蒙

您可以限制允许用户键入的键盘键,以防止他们输入字母字符。此选项不会验证数字内容,如果需要,必须单独验证

您需要创建一个作用于onkeypress事件的客户端函数

代码将类似于以下内容:

var keyCode = event.keyCode;
if((keyCode >= 48 && keyCode <= 57) || keyCode == 8 || keyCode == 46){
   event.returnValue = true;
}else{
   event.returnValue = false;
}
var-keyCode=event.keyCode;

如果((keyCode>=48&&keyCode定义不带cellType属性的列

  <xe:djxDataGridColumn
     id="djxDataGridColumn10"
     editable="true"
     label="Amount "
     field="Amount"
     width="50px"
     formatter="formatCurrency">
  </xe:djxDataGridColumn>
约束
{currency:'EUR'}
将值转换并显示为欧元货币€:


如果该值无效,则会显示“…”

您可以添加更多关于您正在执行的操作的一般信息吗?我对用户在网格中输入的内容感到困惑,特别是因为您的列被设置为editable=“false”。editable=“true”。我有上面的更新,我希望单元格只接受数字或分数,而不接受字符串。您可以将可以键入的字符限制为0-9和小数分隔符(.对于我们,某些国家使用,)。这是一种不同的方法,其中键盘键是有限的,但值未经验证。您想让我给出一个显示这一点的答案吗?是的,请回答。如果我想让单元格显示提示错误消息(如上图所示),您可以使用
dijit.form.CurrencyTextBox
小部件来显示错误消息提示,但i c不幸的是,我们还不能用XPages运行它。您好,先生,是否可以让网格接受带有逗号(如“465,87”而不是“456.87”)的德国货币条目?
  <xe:djxDataGridColumn
     id="djxDataGridColumn10"
     editable="true"
     label="Amount "
     field="Amount"
     width="50px"
     formatter="formatCurrency">
  </xe:djxDataGridColumn>
require(["dojo/currency"]);
function formatCurrency(value){
    return isNaN(value) ? '...' : dojo.currency.format(value, {currency: 'EUR'});
}