EasyUI Forum
May 14, 2024, 03:22:06 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Datagrid - How to get buttons row data  (Read 6248 times)
spider58
Newbie
*
Posts: 32


View Profile
« on: December 12, 2018, 01:07:10 AM »

hi,

I have a button column which has 4 buttons and i want to get clicked buttons row data.

onselectionchanged event i am getting selectedrow but buttons click event  fired before selection changed event.

after program start first click on button selection is null. second or the other clicks selection will become previous row because click code firing before selection changed event.



Button column click code

Code:
render={({ row }) => (
              <div>
                         <a href="javascript:void(0)" onClick={() => this.getSelectedRow(this)}>click me</a>
              </div>
            )}

function

Code:
getSelectedRow() {
    console.log(this.state.selection);
}

grid selection code

Code:
<DataGrid data={this.state.data} style={{ height: 250 }}
          selectionMode="single"
          selection={this.state.selection}
          onSelectionChange={(selection) => this.setState({ selection: selection })}
        >


And i have second question

How can i access datagrid object for use methods such as "toggleRow"

Thanks

« Last Edit: December 12, 2018, 01:31:53 AM by spider58 » Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #1 on: December 12, 2018, 01:33:19 AM »

Please pass the 'row' to your clicking handler function.
Code:
<a href="javascript:void(0)" onClick={() => this.getSelectedRow(row)}>click me</a>
Logged
spider58
Newbie
*
Posts: 32


View Profile
« Reply #2 on: December 12, 2018, 01:41:11 AM »

Please pass the 'row' to your clicking handler function.
Code:
<a href="javascript:void(0)" onClick={() => this.getSelectedRow(row)}>click me</a>

hi.

Thanks for answer

i tried already

Code:
getSelectedRow(row) {
    this.setState({ selection: row})
    console.log(this.state.selection);
}

still getting previous row data

But i can access row data with row. i will use row not use state  Grin

and another question

how can i use methods such as (toggleRow)
« Last Edit: December 12, 2018, 01:43:33 AM by spider58 » Logged
stworthy
Administrator
Hero Member
*****
Posts: 3581


View Profile Email
« Reply #3 on: December 12, 2018, 06:41:32 PM »

Use this code instead.
Code:
this.setState({ selection: row}, ()=>{
console.log(this.state.selection);
})
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!