1

event_dateという名前の列があります。event_date列に入力せずに情報を送信しようとした場合にユーザーに警告し、それ以上の実行を阻止したいと思います。列を定義する方法は次のとおりです。

header: 'Event_date',
            width: 115,
            dataIndex: 'event_time',
            renderer: this._renderExactDate,
            field: {
                type: 'textfield'
            }

私のレンダリング関数は次のとおりです。

_renderExactDate: function(date) {
        if (date == '0000-00-00 00:00:00' || date == undefined) {
            Ext.MessageBox.show({
            title: 'New event',
            msg: 'You must set a date',
            icon: Ext.MessageBox.ERROR,
            buttons: Ext.Msg.OK
        });
      } 
      else
          {
              return date;
          }
    }

しかし、obv。レンダラーはこれを行う方法ではありませんが、これを行う方法は見つかりませんでした。

ありがとう

レロン

4

1 に答える 1

1

これがExtJS4を使用している場合は、モデルフィールド検証フィールドを使用して、受け入れられる形式を設定する必要があります。いずれかの規格が法案に適合しない場合は、カスタムのものを作成してください。次に、同期を試みる前にモデルが有効かどうかを確認し、それに応じて警告にフラグを立てることができます。

フックしたいイベントはこれです。次に、警告を生成する前に、レコード/モデルを取得し、その「isValid」メソッドを確認できます。

リンク:Ext.grid.plugin.CellEditingvalidateeditイベント

于 2012-04-10T17:06:23.023 に答える