@@ -4,7 +4,24 @@ import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
4
4
5
5
6
6
const jobs = [ ] ;
7
- const jobTypes = [ 'A' , 'B' , 'C' , 'D' ] ;
7
+ // editable, select type also accept a string array
8
+ // it's most simple case for using select, but the text and value will all be the value in array
9
+ // const jobTypes = [ 'A', 'B', 'C', 'D' ];
10
+ //
11
+ // Following case will be more easy to control the text and value in select.
12
+ const jobTypes = [ {
13
+ value : 'A' ,
14
+ text : 'TYPE_A'
15
+ } , {
16
+ value : 'B' ,
17
+ text : 'TYPE_B'
18
+ } , {
19
+ value : 'C' ,
20
+ text : 'TYPE_C'
21
+ } , {
22
+ value : 'D' ,
23
+ text : 'TYPE_D'
24
+ } ] ;
8
25
9
26
function addJobs ( quantity ) {
10
27
const startId = jobs . length ;
@@ -28,12 +45,21 @@ const cellEditProp = {
28
45
} ;
29
46
30
47
export default class EditTypeTable extends React . Component {
48
+ constructor ( props ) {
49
+ super ( props ) ;
50
+ this . formatType = this . formatType . bind ( this ) ;
51
+ }
52
+
53
+ formatType ( cell ) {
54
+ return `TYPE_${ cell } ` ;
55
+ }
56
+
31
57
render ( ) {
32
58
return (
33
59
< BootstrapTable data = { jobs } cellEdit = { cellEditProp } >
34
60
< TableHeaderColumn dataField = 'id' isKey = { true } > Job ID</ TableHeaderColumn >
35
61
< TableHeaderColumn dataField = 'name' editable = { { type : 'textarea' } } > Job Name</ TableHeaderColumn >
36
- < TableHeaderColumn dataField = 'type' editable = { { type : 'select' , options : { values : jobTypes } } } > Job Type</ TableHeaderColumn >
62
+ < TableHeaderColumn dataField = 'type' dataFormat = { this . formatType } editable = { { type : 'select' , options : { values : jobTypes } } } > Job Type</ TableHeaderColumn >
37
63
< TableHeaderColumn dataField = 'active' editable = { { type : 'checkbox' , options : { values : 'Y:N' } } } > Active</ TableHeaderColumn >
38
64
< TableHeaderColumn dataField = 'datetime' editable = { { type : 'datetime' } } > Date Time</ TableHeaderColumn >
39
65
</ BootstrapTable >
0 commit comments