Ag grid clipboard для резки действий - PullRequest
0 голосов
/ 05 июля 2019

Я хотел бы реализовать действия копирования, вырезания, вставки в сетке ag.Функции Ag Ag Enterprise содержат все, что мне нужно, кроме вырезанных действий.Я думаю, что это можно реализовать, добавив обработчик события keydown к компоненту.Процесс будет состоять из простого копирования и удаления данных ячеек.Но проблема в том, что я не смог найти, какую строку и столбец я скопировал, положение ячейки.есть идеи?

...
constructor(props) {
    super(props);

    this.state = {
      columnDefs: [
        {
          headerName: "Athlete",
          field: "athlete",
          width: 150,
          suppressSizeToFit: true
        },
        {
          headerName: "Age",
          field: "age",
          width: 90,
          minWidth: 50,
          maxWidth: 100
        },
        ...
      ],
      defaultColDef: { editable: true },
      rowSelection: "multiple",
      clipboardDeliminator: ",",
      rowData: []
    };
}
onKeyDown(evt) {
    if (evt.key == "x" && (evt.ctrlKey || evt.metaKey)) {
        this.gridApi.copySelectedRangeToClipboard();
        // here should add some code        
    }    
}
render() {
    return (
      <div style={{ width: "100%", height: "100%" }}>
        <div className="grid-wrapper">
          <div
            id="myGrid"
            style={{
              boxSizing: "border-box",
              height: "100%",
              width: "100%"
            }}
            className="ag-theme-balham"
            onKeyDown={this.onKeyDown.bind(this)}
          >
            <AgGridReact
            columnDefs={this.state.columnDefs}
            defaultColDef={this.state.defaultColDef}
            enableRangeSelection={true}
            rowSelection={this.state.rowSelection}
            clipboardDeliminator={this.state.clipboardDeliminator}
            onGridReady={this.onGridReady.bind(this)}
            rowData={this.state.rowData}
          />

          </div>
        </div>
      </div>
    );
  }
}
...

1 Ответ

0 голосов
/ 05 июля 2019

Я нашел ответ. есть метод получения выбранного диапазона

this.gridApi.getCellRanges()

он вернет выбранные столбцы и значения startRow, endRow, все, что мне нужно!

https://www.ag -grid.com / JavaScript-сетка-диапазон выбора /

...