본문 바로가기
프로그래밍/Extjs

Extjs 4 - Grid datecolumn edit timefield

by 판데스 2013. 11. 5.
반응형

그리드에 시간 컬럼을 표시해주기 위해 datecolumn 을 사용하였지만


 timefield 로 수정할경우 이전값이 editer 에 들어가지 않는 현상이 벌어졌다.


그래서 gridcolumn 으로 변경후 timefield 로 수정하면 정상적으로 editer에 이전값이 들어가지만 수정후 


Date자체가 컬럼에 찍히는 현상이 발생한다.


{
	"xtype": "gridcolumn",
	"dataIndex": "endTime",
	"width" : 100,
	"text": "DeliveryLimittime",
	"renderer" : function(value){
		if(value instanceof Date)
			return Ext.util.Format.date(value, Ext.Date.patterns.LongTimeISO);
		else 
			return value;
	},
	"editor" : {
		"xtype" : 'timefield',
		"allowBlank" : false,
		"format" : Ext.Date.patterns.LongTimeISO
	}
}

결국 해결방법으로 gridcolumn 으로 받고 타입이 Date 경우 포멧을 시간으로 변경해주는방식으로 하니


그냥 된다.. 이거한다고 몇시간을한거지 ...


Ext.Date.patterns.LongTimeISO 는 아래와같이 정의해둔것

Ext.Date.patterns = {
    ISO8601Long:"Y-m-d H:i:s",
    ISO8601Short:"Y-m-d",
    ShortDate: "n/j/Y",
    LongDate: "l, F d, Y",
    FullDateTime: "l, F d, Y g:i:s A",
    MonthDay: "F d",
    ShortTime: "g:i A",
    LongTime: "g:i:s A",
    LongTimeISO : "H:i:s", 
    SortableDateTime: "Y-m-d\\TH:i:s",
    UniversalSortableDateTime: "Y-m-d H:i:sO",
    YearMonth: "F, Y"
};




반응형