バグを説明する
dataGridがセルを編集可能にするとき、cellTextがない場合は、フィールド値をフェッチします。 アプリケーションのフィールド値には、空白の日付値がゼロになっています。 日付エディターがゼロで開きます。
以下は、参照されているコードです。
makeCellEditable: function(row, cell, event) {
if (!this.isCellEditable(row, cell)) {
return;
}
//Locate the Editor
var col = this.columnSettings(cell);
if (!col.editor) {
if (event.keyCode === 32) {
this.toggleRowSelection(this.activeCell.node.closest('tr'));
}
return;
}
// Put the Cell into Focus Mode
this.setActiveCell(row, cell);
var cellNode = this.activeCell.node.find('.datagrid-cell-wrapper'),
cellParent = cellNode.parent('td'),
cellValue = (cellNode.text() ? cellNode.text() : this.fieldValue(this.settings.dataset[row], col.field));
if (cellParent.hasClass('is-editing')) {
//Already in edit mode
//Editor.focus
cellNode.find('input').focus();
return false;
}
再現するには
動作を再現する手順:
予想される行動
セルテキストがない場合は、空の文字列が渡されるか、フィールド値がフォーマットされます。
参考:3.5コントロールは、エディターで値を使用する前にフィールド値を変更できるようにするコールバックを提供しました。
0000000はロケール変換のバグのようだと思います。
しかし、それに加えて、コールバックは将来のカスタマイズを可能にするので素晴らしいアイデアです
@ boehmd1この問題を再現するための手順を教えてください。 問題の説明の「複製するには」セクションは更新/変更されていません。 親切にありがとう。
良い電話-私はこれを再現したと思いましたが、データが実際に何に設定されるかわかりません。 この例を試してみると: http:// localhost :4000 / components / datagrid / example-editable.htmlグリッドに0000000がなくても、正常にレンダリングされている空白のデータがいくつかあります。 データの例は次のようなものですか:文字列 '00000000'?
また、 @ boehmd1 3.5のオプションは何と呼ばれていましたか?
'loadValue'はエディターのメソッドでした。
再現するには...
例http:// localhost :4000 / components / datagrid / example-editableを使用します
日付またはOrderDate'00000000 'を変更します
@davidcarlsonberg loadData
はエディターのフックでした。 これを解決するために、ロケール形式00000000
を空の日付に正しく作成できる可能性があります。 次に、エディターにフックが必要な場合は、さらにそれを行うことができます。
QA合格。 移動t完了。
テスト対象: http:// localhost :4000 / components / datagrid / example-すべてのデバイス、ブラウザ、OSで編集可能。