보기를 변경할 때까지 JQGrid 호출기가 표시되지 않음

Davidjosepha

내 코드는 다음과 같습니다.

<table id="employees"><tr><td></td></tr></table> 
<div id="pager"></div>

<script type="text/javascript">
    jQuery("#employees").jqGrid({
        datatype: "local",
        height: 250,
        colNames: ['Employee #', 'Name', 'Trade'],
        colModel: [
            { name: 'num', index: 'num', width: 100, sorttype: "int" },
            { name: 'name', index: 'name', width: 300 },
            { name: 'trade', index: 'trade', width: 80 },
        ],
        multiselect: true,
        pager: '#pager',
        rowNum: 10,
        rowList: [10, 20, 30],
        sortname: "num",
        sortorder: "desc",
        scroll: false,
        viewrecords: true,
        autoencode: true,
        height: 'auto',
        caption: "Equipment"
    });

    var mydata = [
        { num: "492", name: "Doug Anderson", trade: "WS" },
        { num: "696", name: "William Anderson", trade: "OP" },
        { num: "826", name: "Chris Autry", trade: "WF" },
        { num: "206", name: "Tom Beffa", trade: "OP" },
        { num: "799", name: "Glenn Bixler", trade: "LB" },
        { num: "360", name: "Pete Bober", trade: "OP" },
        { num: "7", name: "Scott Burgie", trade: "PFW" },
        { num: "476", name: "James Click", trade: "W" },
        { num: "775", name: "Bryan Darst", trade: "LB" },
        { num: "249", name: "Bob Dunham", trade: "LB" },
        { num: "10", name: "Tom Ekclund", trade: "WGF" },
        { num: "390", name: "Noel Edwards", trade: "W" }
    ];
    for (var i = 0; i <= mydata.length; i++)
        jQuery("#employees").jqGrid('addRowData', i + 1, mydata[i]);
</script>

내 문제는 호출기가 표시되지만 "0 중 1"이라고 말한 다음 10 개 대신 모든 행을 표시한다는 것입니다. 이상한 점은 페이지가로드 된 후 정렬 열을 변경하거나 행 수를 변경하는 것입니다. 보여주기 위해 제대로 작동하기 시작합니다. 예를 들어 페이지를로드하고 표시 할 행 수를 20 개로 전환하면 맨 아래에 "1 of 1"이 표시되고 다시 10으로 설정하면 2 페이지가 표시됩니다. 전환 할 수 있습니다. 페이지로드 직후에 작동하지 않는 이유를 알 수 없습니다.

올렉

설명 된 문제의 원인은 addRowData데이터를 채우는 데 사용하기 때문입니다 . 공식 jqGrid 데모 페이지 에 "Loading Data"/ "Array Data"에서 찾을 수있는 매우 가까운 코드가 포함되어 있다는 것은 매우 안타깝 습니다. 이 코드에는 작은 오류 ( i <= mydata.length로 대체되어야 함 i < mydata.length) 가있을 뿐만 아니라 매우 비효율적입니다. 데모 페이지는 매우 오래되었습니다. jqGrid 3.7 ( "버전 3.7의 새로운 기능"/ "한 번에 배열 데이터로드"참조)부터 훨씬 더 효과적인 방법이 있습니다 : data매개 변수 사용 .

Instead of filling the data in loop you can extend every item of mydata array with additional property id and use just data: mydata option. In the case the data will be first sorted (corresponds to sortname: "num", sortorder: "desc" which you use) and then the first page will be displayed. The user can use pager to navigate over the pages of data.

If the value of num which you displays is already unique (have different values in every row) then you don't need to add id property to mydata array. Instead of that you can add key: true property in the definition of num column in colModel. After that jqGrid will use the value from num column as "rowid" (the value of id attribute assigned to <tr> elements of the grid).

또한 당신이 사용하는 것이 좋습니다 gridview: true모든 그리드에서 옵션을 제거 index에서 colModel당신과 같은 값을 사용하는 경우 name. 그런데 데이터 유형 : "local"을 사용하는 경우 및에 대해 동일한 값을 제거 하거나 지정 해야 합니다 .indexindexname

따라서 최종 코드는 다음과 같을 수 있습니다.

var mydata = [
        { num: "492", name: "Doug Anderson", trade: "WS" },
        { num: "696", name: "William Anderson", trade: "OP" },
        { num: "826", name: "Chris Autry", trade: "WF" },
        { num: "206", name: "Tom Beffa", trade: "OP" },
        { num: "799", name: "Glenn Bixler", trade: "LB" },
        { num: "360", name: "Pete Bober", trade: "OP" },
        { num: "7", name: "Scott Burgie", trade: "PFW" },
        { num: "476", name: "James Click", trade: "W" },
        { num: "775", name: "Bryan Darst", trade: "LB" },
        { num: "249", name: "Bob Dunham", trade: "LB" },
        { num: "10", name: "Tom Ekclund", trade: "WGF" },
        { num: "390", name: "Noel Edwards", trade: "W" }
    ];

$("#employees").jqGrid({
    datatype: "local",
    data: mydata,
    colNames: ["Employee #", "Name", "Trade"],
    colModel: [
        { name: "num", width: 100, key: true, sorttype: "int" },
        { name: "name", width: 300 },
        { name: "trade", width: 80 },
    ],
    multiselect: true,
    pager: "#pager",
    rowNum: 10,
    rowList: [10, 20, 30],
    sortname: "num",
    sortorder: "desc",
    viewrecords: true,
    autoencode: true,
    height: "auto",
    gridview: true,
    caption: "Equipment"
});

작은 버그를 수정했습니다 . 오류 인 height속성을 두 번 지정 했습니다 ( height: 250height: 'auto').

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

배경색을 변경하려고 할 때 사용자 정의보기가 표시되지 않음

분류에서Dev

클릭 할 때까지 응용 프로그램 표시기 아이콘이 변경되지 않음

분류에서Dev

JqGrid가 초기화되지 않음

분류에서Dev

보기 변경시 이미지 위에 텍스트가 표시되지 않음

분류에서Dev

jqGrid : 이전 및 다음 화살표를 눌러도 편집 창에서 이미지가 변경되지 않음

분류에서Dev

선택기보기로 텍스트가 변경 될 때 onTextChange 대상이 호출되지 않음-iOS Swift

분류에서Dev

경계를 변경할 때보기가 변경되지 않는 이유는 무엇입니까?

분류에서Dev

찾기 호출에 TypeORM 외래 키가 표시되지 않음

분류에서Dev

키보드를 표시 할 때보기 크기가 조정되지 않는 이유는 무엇입니까?

분류에서Dev

사용자 정의보기가있는 작업 표시 줄을 사용하는 경우 구성 변경시 활동의 onCreate가 호출되지 않음

분류에서Dev

IsMouseOver 트리거에서 사용할 때 변환기가 호출되지 않음

분류에서Dev

StackedWidget보기가 표시되지 않음

분류에서Dev

Recycler보기가 표시되지 않음

분류에서Dev

두 번째로 추가 할 때 UIWindow에보기가 표시되지 않음

분류에서Dev

Xcode 7 iOS Objective C에서 iPhone 크기 스토리 보드를 범용으로 변경할 때 개체가 표시되지 않음

분류에서Dev

MacBook Pro를 재시동 할 때 Ubuntu가 표시되지 않음

분류에서Dev

awk가 출력 파일에서 번호 매기기를 변경하지 않음

분류에서Dev

바인딩이있는 사용자 정의보기를 사용할 때 "지정된 캐스트가 유효하지 않음"이 표시되지만 수동으로 설정 한 경우에는 표시되지 않는 이유는 무엇입니까?

분류에서Dev

파이썬 : 함수를 호출 할 때 왜 정의되지 않은 변수가 표시됩니까?

분류에서Dev

기본 매개 변수를 추가 할 때 엔드 포인트가 호출되지 않음

분류에서Dev

뷰를 변경할 때 범위가 유지되지 않음

분류에서Dev

jqGrid가 행을 표시하지 않음

분류에서Dev

iOS : UITextView를 탭할 때 UIDatePicker가 표시되지 않음

분류에서Dev

활동 표시기보기가 표시되지 않음

분류에서Dev

입력 할 때 jqGrid toobar가 필터링되지 않음

분류에서Dev

jqGrid json 데이터 그리드가 표시되지 않음

분류에서Dev

jqGrid에 반환 된 JSON 데이터가 표시되지 않음

분류에서Dev

암시 분기에 변수가 표시되지 않음

분류에서Dev

MvvmCross, 플랫폼 별 값 변환기가 호출되지 않음

Related 관련 기사

  1. 1

    배경색을 변경하려고 할 때 사용자 정의보기가 표시되지 않음

  2. 2

    클릭 할 때까지 응용 프로그램 표시기 아이콘이 변경되지 않음

  3. 3

    JqGrid가 초기화되지 않음

  4. 4

    보기 변경시 이미지 위에 텍스트가 표시되지 않음

  5. 5

    jqGrid : 이전 및 다음 화살표를 눌러도 편집 창에서 이미지가 변경되지 않음

  6. 6

    선택기보기로 텍스트가 변경 될 때 onTextChange 대상이 호출되지 않음-iOS Swift

  7. 7

    경계를 변경할 때보기가 변경되지 않는 이유는 무엇입니까?

  8. 8

    찾기 호출에 TypeORM 외래 키가 표시되지 않음

  9. 9

    키보드를 표시 할 때보기 크기가 조정되지 않는 이유는 무엇입니까?

  10. 10

    사용자 정의보기가있는 작업 표시 줄을 사용하는 경우 구성 변경시 활동의 onCreate가 호출되지 않음

  11. 11

    IsMouseOver 트리거에서 사용할 때 변환기가 호출되지 않음

  12. 12

    StackedWidget보기가 표시되지 않음

  13. 13

    Recycler보기가 표시되지 않음

  14. 14

    두 번째로 추가 할 때 UIWindow에보기가 표시되지 않음

  15. 15

    Xcode 7 iOS Objective C에서 iPhone 크기 스토리 보드를 범용으로 변경할 때 개체가 표시되지 않음

  16. 16

    MacBook Pro를 재시동 할 때 Ubuntu가 표시되지 않음

  17. 17

    awk가 출력 파일에서 번호 매기기를 변경하지 않음

  18. 18

    바인딩이있는 사용자 정의보기를 사용할 때 "지정된 캐스트가 유효하지 않음"이 표시되지만 수동으로 설정 한 경우에는 표시되지 않는 이유는 무엇입니까?

  19. 19

    파이썬 : 함수를 호출 할 때 왜 정의되지 않은 변수가 표시됩니까?

  20. 20

    기본 매개 변수를 추가 할 때 엔드 포인트가 호출되지 않음

  21. 21

    뷰를 변경할 때 범위가 유지되지 않음

  22. 22

    jqGrid가 행을 표시하지 않음

  23. 23

    iOS : UITextView를 탭할 때 UIDatePicker가 표시되지 않음

  24. 24

    활동 표시기보기가 표시되지 않음

  25. 25

    입력 할 때 jqGrid toobar가 필터링되지 않음

  26. 26

    jqGrid json 데이터 그리드가 표시되지 않음

  27. 27

    jqGrid에 반환 된 JSON 데이터가 표시되지 않음

  28. 28

    암시 분기에 변수가 표시되지 않음

  29. 29

    MvvmCross, 플랫폼 별 값 변환기가 호출되지 않음

뜨겁다태그

보관