arvindispra Ответов: 1

Как экспортировать значение сетки extjs в excel


В Extjs я использую рендеринг в Extgrid
Предположим, я отображаю запись сотрудника в сетке
В SQL поля :
[имя] тип varchar,
[пол] бит типа (0 для женщины и 1 для мужчины)

Я показываю мужчину/женщину в сетке not(0/1). Это хорошо работает. Проблема в том, что когда я экспортирую эти данные в excel, они отображаются (0 и 1) в столбце "пол".
Как показать (мужчина /женщина) вместо (0 и 1)

Мне нужен этот тип вывода в файле Excel

|Name||Gender|	  
|----||------|	
| XX ||Female| 	
| XX ||Female| 	
| XX ||Female| 	
| XX ||Male  | 	
| XX ||Male  | 	
| XX ||Male  |	


Но выход выглядит именно так
|Name||Gender|	  
|----||------|	
| XX ||  0   | 	
| XX ||  0   | 	
| XX ||  0   | 	
| XX ||  1   | 	
| XX ||  1   | 	
| XX ||  1   |	


Что мне делать пожалуйста помогите мне
заранее спасибо

Что я уже пробовал:

{ header: 'name', dataIndex: 'Name', width: 180, type: 'String'},
{ header: 'Gender', dataIndex: 'Gender', width: 180, type: 'String', renderer: this.eventTypeRenderer }

eventTypeRenderer: function (value, model, record) {
        return value ? "Male" : "Female";
	},

1 Ответов

Рейтинг:
5

Karthik_Mahalingam

Вы должны изменить входной источник json, преобразовав битовое значение в Мужское/Женское значение.

var input = [{ Name: 'xx', Gender: 0 },
       { Name: 'xx', Gender: 0 },
       { Name: 'xx', Gender: 0 },
       { Name: 'xx', Gender: 1 },
       { Name: 'xx', Gender: 1 },
       { Name: 'xx', Gender: 1 }];

       for (var i = 0; i < input.length; i++) {
           input[i].GenderValue = input[i].Gender ? "Male" : "Female";
       }



а заголовок config как
{ header: 'Gender', dataIndex: 'GenderValue', width: 180, type: 'String'},