Ag-Grid에서 선택 순서를 얻는 방법은 무엇입니까?

tbr

getSelectedRows () 함수를 사용하여 선택한 행을 가져 오기 위해 그리드 API를 사용하고 있습니다 . 그러나 행 목록이 순서가 지정되지 않은 것 같습니다. 즉, 항목이 선택한 순서가 아닙니다.

선택한 순서대로 선택한 행을 가져 오는 다른 방법이 있습니까?

근처 Huscarl

선택한 항목을 직접 추적하고 selectionChanged이벤트 를 청취하여 시간순으로 정렬되었는지 확인할 수 있습니다.

// global keyboard state, put this outside of the function body
// we need to store the current shift key state to know if user
// are selecting multiple rows
const KEYBOARD_STATE = {
  isShiftPressed: false
};
document.addEventListener("keydown", (e) => {
  KEYBOARD_STATE.isShiftPressed = e.key === "Shift";
});
document.addEventListener("keyup", (e) => {
  KEYBOARD_STATE.isShiftPressed = false;
});
const [selection, setSelection] = React.useState([]);
const onSelectionChanged = (e) => {
  const selectedNodes = e.api.getSelectedNodes();
  const lastSelectedNode =
    selectedNodes[0]?.selectionController?.lastSelectedNode;
  // if lastSelectedNode is missing while multi-selecting,
  // AgGrid will select from the first row
  const selectedNodeFrom = lastSelectedNode || e.api.getRenderedNodes()[0];
  const isRangeSelect = KEYBOARD_STATE.isShiftPressed;
  const difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
  const newSelection = difference(selectedNodes, selection);

  if (newSelection.length > 0) {
    if (isRangeSelect) {
      const isSelectBackward =
        newSelection[0].rowIndex < selectedNodeFrom.rowIndex;

      if (isSelectBackward) {
        newSelection.reverse();
      }
    }

    newSelection.forEach((n) => updateSelection(n));
  } else {
    updateSelection(); // deselect
  }
};
const updateSelection = (rowNode) => {
  setSelection((selections) => {
    if (rowNode) {
      const isSelected = rowNode.isSelected();

      if (isSelected) {
        return [...selections, rowNode];
      } else {
        return selections.filter((s) => s.id !== rowNode.id);
      }
    } else {
      return selections.filter((n) => n.isSelected());
    }
  });
};
return (
  <>
    <pre>
      {JSON.stringify(selection.map((n) => n.data.id))}
    </pre>
    <AgGridReact
      rowSelection="multiple"
      columnDefs={columnDefs}
      rowMultiSelectWithClick
      onSelectionChanged={onSelectionChanged}
      {...}
    />
  </>
);

라이브 데모

63988970 / how-to-get-the-selection-order-in-ag-grid / 63990845 # 63990845 편집

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ag-Grid에서 드래그 시작시 행을 선택하는 방법은 무엇입니까?

분류에서Dev

ag-grid에서 행의 스타일 객체를 얻는 방법은 무엇입니까?

분류에서Dev

Ag-Grid에서 동적 헤더 이름을 얻는 방법은 무엇입니까?

분류에서Dev

Tkinter에서 선택한 형식을 얻는 방법은 무엇입니까?

분류에서Dev

각도 선택에서 옵션 값을 얻는 방법은 무엇입니까?

분류에서Dev

Wicket DropDownChoice에서 선택한 값을 얻는 방법은 무엇입니까?

분류에서Dev

Wicket DropDownChoice에서 선택한 값을 얻는 방법은 무엇입니까?

분류에서Dev

textview에서 alertdialg 선택한 항목을 얻는 방법은 무엇입니까?

분류에서Dev

Bayes Net에서 변수 제거 순서를 선택하는 방법은 무엇입니까?

분류에서Dev

Python Peewee ORM에서 두 번째 순서 ForeignKeyField를 선택하는 방법은 무엇입니까?

분류에서Dev

Oracle (서브 쿼리)에서 선택 카운트 (*)를 단순화하는 방법은 무엇입니까?

분류에서Dev

부팅 중에 OS를 선택하는 순서를 변경하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 선택 상자의 여러 선택된 값을 얻는 방법은 무엇입니까?

분류에서Dev

자체 선언 방법에서 셀 선택 행을 얻는 방법은 무엇입니까?

분류에서Dev

이벤트에서 Ag-Grid를 다시 초기화하는 방법은 무엇입니까?

분류에서Dev

UI 선택 값에서 값을 선택하는 방법은 무엇입니까?

분류에서Dev

Ag 그리드에서 날짜를 포맷하는 방법과 Ag-Grid에서 비교 / 정렬하는 방법은 무엇입니까?

분류에서Dev

조회 방법에서 RecId를 선택하는 방법은 무엇입니까?

분류에서Dev

참조 행을 순서대로 선택하는 방법은 무엇입니까?

분류에서Dev

PHP의 HTML 입력 태그에서 선택한 파일 경로를 얻는 방법은 무엇입니까?

분류에서Dev

서블릿에서 드롭 다운 목록의 선택된 INDEX를 얻는 방법은 무엇입니까?

분류에서Dev

BIOS 부팅 순서를 얻는 방법은 무엇입니까?

분류에서Dev

Android에서 multiselectgridView를 사용하여 선택한 파일 경로를 얻는 방법은 무엇입니까?

분류에서Dev

Android에서 multiselectgridView를 사용하여 선택한 파일 경로를 얻는 방법은 무엇입니까?

분류에서Dev

폴더를 선택하고 grails에서 폴더 경로를 얻는 방법은 무엇입니까?

분류에서Dev

Jquery는 다중 선택을 선택했습니다. asp.net에서 선택한 값을 서버 측에서 얻는 방법은 무엇입니까?

분류에서Dev

Angular에서 ag-grid의 headerClass 속성을 사용하는 방법은 무엇입니까?

분류에서Dev

Angular ag-grid : 셀에서 HTML을 렌더링하는 방법은 무엇입니까?

분류에서Dev

ag-Grid에서 편집 된 셀의 스타일을 변경하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Ag-Grid에서 드래그 시작시 행을 선택하는 방법은 무엇입니까?

  2. 2

    ag-grid에서 행의 스타일 객체를 얻는 방법은 무엇입니까?

  3. 3

    Ag-Grid에서 동적 헤더 이름을 얻는 방법은 무엇입니까?

  4. 4

    Tkinter에서 선택한 형식을 얻는 방법은 무엇입니까?

  5. 5

    각도 선택에서 옵션 값을 얻는 방법은 무엇입니까?

  6. 6

    Wicket DropDownChoice에서 선택한 값을 얻는 방법은 무엇입니까?

  7. 7

    Wicket DropDownChoice에서 선택한 값을 얻는 방법은 무엇입니까?

  8. 8

    textview에서 alertdialg 선택한 항목을 얻는 방법은 무엇입니까?

  9. 9

    Bayes Net에서 변수 제거 순서를 선택하는 방법은 무엇입니까?

  10. 10

    Python Peewee ORM에서 두 번째 순서 ForeignKeyField를 선택하는 방법은 무엇입니까?

  11. 11

    Oracle (서브 쿼리)에서 선택 카운트 (*)를 단순화하는 방법은 무엇입니까?

  12. 12

    부팅 중에 OS를 선택하는 순서를 변경하는 방법은 무엇입니까?

  13. 13

    Laravel에서 선택 상자의 여러 선택된 값을 얻는 방법은 무엇입니까?

  14. 14

    자체 선언 방법에서 셀 선택 행을 얻는 방법은 무엇입니까?

  15. 15

    이벤트에서 Ag-Grid를 다시 초기화하는 방법은 무엇입니까?

  16. 16

    UI 선택 값에서 값을 선택하는 방법은 무엇입니까?

  17. 17

    Ag 그리드에서 날짜를 포맷하는 방법과 Ag-Grid에서 비교 / 정렬하는 방법은 무엇입니까?

  18. 18

    조회 방법에서 RecId를 선택하는 방법은 무엇입니까?

  19. 19

    참조 행을 순서대로 선택하는 방법은 무엇입니까?

  20. 20

    PHP의 HTML 입력 태그에서 선택한 파일 경로를 얻는 방법은 무엇입니까?

  21. 21

    서블릿에서 드롭 다운 목록의 선택된 INDEX를 얻는 방법은 무엇입니까?

  22. 22

    BIOS 부팅 순서를 얻는 방법은 무엇입니까?

  23. 23

    Android에서 multiselectgridView를 사용하여 선택한 파일 경로를 얻는 방법은 무엇입니까?

  24. 24

    Android에서 multiselectgridView를 사용하여 선택한 파일 경로를 얻는 방법은 무엇입니까?

  25. 25

    폴더를 선택하고 grails에서 폴더 경로를 얻는 방법은 무엇입니까?

  26. 26

    Jquery는 다중 선택을 선택했습니다. asp.net에서 선택한 값을 서버 측에서 얻는 방법은 무엇입니까?

  27. 27

    Angular에서 ag-grid의 headerClass 속성을 사용하는 방법은 무엇입니까?

  28. 28

    Angular ag-grid : 셀에서 HTML을 렌더링하는 방법은 무엇입니까?

  29. 29

    ag-Grid에서 편집 된 셀의 스타일을 변경하는 방법은 무엇입니까?

뜨겁다태그

보관