Click here to Skip to main content
15,887,267 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
In Extjs I am using rendering in Extgrid
Suppose I am displaying employee record in grid
Sql Fields are :
[name] type varchar,
[gender] type bit (0 for female and 1 for male)

I am showing male/female in grid not(0/1). It's working good. Problem is that when I am exporting this data in excel it's showing (0 and 1) in gender column.
How to show (male /female) instead of (0 and 1)

I want this type of Output In Excel File

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


But Output Looking Like that
|Name||Gender|	  
|----||------|	
| XX ||  0   | 	
| XX ||  0   | 	
| XX ||  0   | 	
| XX ||  1   | 	
| XX ||  1   | 	
| XX ||  1   |	


What Should I do please help me
Thanks In advance

What I have tried:

{ 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";
	},
Posted
Updated 25-Oct-17 22:06pm

1 solution

You shall change the input json source by converting the bit value to the Male/Female Value.

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";
       }



and the header config as
{ header: 'Gender', dataIndex: 'GenderValue', width: 180, type: 'String'},
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900