2010-10-14 47 views
8

Có thể thêm các mục điều hướng vào "máy nhắn tin hàng đầu" trong một jqGrid không? Và nếu vậy, cú pháp để làm như vậy là gì?Thêm jqGrid Điều hướng Tùy chỉnh vào Thanh công cụ Hàng đầu

Tôi có một đoạn mã HTML trên trang của mình trông như thế này

<table id="mygrid"> 
</table> 
<div id="mygrid_pager"></div> 

Và sau đó là một khởi jqGrid trông giống như

$('#mygrid').jqGrid({ 
    ..., //full config string removed for brevity, 
    pager:jQuery('#mygrid'), 
    toppager:true 
}); 
$('#mygrid').jqGrid('navGrid', '#mygrid_pager'),{ 
    'add':false, 
    'del':false, 
    'edit':false, 
    'search':false, 
    'refresh':false, 
    'cloneToTop':true, 
}).navButtonAdd('',{...}); //config navbutton string for button removed for brevity 

Một "top pager" này với id của # mygrid_toppager được tự động chèn vào trang, nhưng các nút tùy chỉnh của nó (xuất hiện trên máy nhắn tin phía dưới) không đi cùng với chuyến đi.

I see that there's a "cloneToTop" option được bao gồm cho navGrid, nhưng mô tả của nó có vẻ khó hiểu và tôi chỉ có thể giả sử tôi đang sử dụng sai.

Sao chép tất cả các tác vụ từ máy nhắn tin đáy lên máy nhắn tin hàng đầu nếu được xác định. Lưu ý rằng navGrid chỉ có thể được áp dụng cho đầu trang chỉ dành cho máy nhắn tin. Id của máy nhắn tin hàng đầu là sự kết hợp của id lưới và "_toppager"

sự hiểu biết của tôi về sự lựa chọn là nó sẽ mất nút thêm vào pager đáy, và sao chép chúng lên đến đỉnh. Tuy nhiên, mô tả sau đó tiếp tục nói "navGrid chỉ có thể được áp dụng cho máy nhắn tin hàng đầu, điều này không có ý nghĩa gì vì bạn đang nhân bản nó. Tôi không hiểu rõ về cách API

Nếu bất cứ ai có thể chỉ cho tôi đúng hướng (ngay cả chỉ với một ví dụ làm việc ở đâu đó), tôi sẽ đánh giá cao điều đó.Tôi muốn làm điều này thông qua các API chính thức, như trái ngược với to clever DOM manipulation, như đã thấy ở đâu đó trên StackOverflow.

Trả lời

17

OK, có vẻ như tôi tìm thấy một cách trông giống như tốt hơn. ý tưởng là để sử dụng navButtonAdd với "#list_toppager_left" thay vì "#pager".

Tôi đã sửa đổi old answer để một nút tùy chỉnh được thêm vào trên cùng của thanh công cụ điều hướng cùng với một nút tiêu chuẩn. Các yếu tố khác từ thanh công cụ điều hướng trên cùng sẽ bị xóa. Kết quả sẽ trông giống như alt text

Bạn có thể xem bản trình diễn tương ứng trực tiếp here.

+0

Ah, tôi nghĩ tôi sẽ theo dõi ngay bây giờ. Trong quan tâm của việc giúp các lập trình viên tiếp theo đến cùng, tôi đã không nhận ra tùy chọn "cloneToTop" chỉ sao chép các nút lưới mặc định và ** không ** bất kỳ nút tùy chỉnh được thêm vào. Tôi đã thử bằng cách sử dụng navButtonAdd trên mygrid_toppager, tôi đã không 't nhận ra bạn cần thiết để cho api biết bên nào của lưới bạn muốn nó trên (trái/phải) khi giao dịch với toppager. –

+2

Trong bản trình diễn của bạn (và những gì tôi hiện đang trải nghiệm), kiểu 'con trỏ: con trỏ' không được áp dụng khi di chuột qua các biểu tượng điều hướng trên cùng. Bạn có giải pháp nào cho điều này không? Cảm ơn bạn rất nhiều! – icats

+0

@icats: Câu hỏi rất hay! Các vấn đề nằm trong CSS cho '.ui-jqgrid .ui-jqgrid-pager .ui-pg-button', nhưng lớp trên cùng có lớp' ui-jqgrid-toppager' và không có 'ui-jqgrid-pager' như trình nhắn tin dưới cùng . Vì vậy, để khắc phục sự cố, bạn nên thêm CSS '.ui-jqgrid .ui-jqgrid-pager .ui-pg-button {con trỏ: con trỏ}'. Đó là lỗi trong 'ui.jqgrid.css' – Oleg

Các vấn đề liên quan