Tôi muốn thêm một nút vào mỗi hàng trong lưới của tôi sẽ hiển thị cửa sổ mới. Không thấy tính năng này trong điều khiển rất phong phú này. Phải được thiếu cái gìThêm một nút vào một hàng trong jqgrid
Trả lời
Dưới đây là một ví dụ, từ trang demo jqGrid:
jQuery("#rowed2").jqGrid({
url:'server.php?q=3',
datatype: "json",
colNames:['Actions','Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'act', index:'act', width:75,sortable:false},
{name:'id',index:'id', width:55},
{name:'invdate',index:'invdate', width:90, editable:true},
{name:'name',index:'name', width:100,editable:true},
{name:'amount',index:'amount', width:80, align:"right",editable:true},
{name:'tax',index:'tax', width:80, align:"right",editable:true},
{name:'total',index:'total', width:80,align:"right",editable:true},
{name:'note',index:'note', width:150, sortable:false,editable:true}
],
rowNum:10,
rowList:[10,20,30],
imgpath: gridimgpath,
pager: jQuery('#prowed2'),
sortname: 'id',
viewrecords: true,
sortorder: "desc",
gridComplete: function(){
var ids = jQuery("#rowed2").getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=jQuery('#rowed2').editRow("+cl+"); ></ids>";
se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=jQuery('#rowed2').saveRow("+cl+"); />";
ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=jQuery('#rowed2').restoreRow("+cl+"); />";
jQuery("#rowed2").setRowData(ids[i],{act:be+se+ce})
}
},
editurl: "server.php",
caption:"Custom edit " }
).navGrid("#prowed2",{edit:false,add:false,del:false});
Bạn cũng có thể làm điều đó với một custom formatter.
mà sẽ chỉ cho phép các nút Save, biên tập, những gì tôi muốn là để bắn một hàm mở ra cửa sổ mới. Tôi đoán tôi chỉ ghi đè lên .saveRow hoặc .EditRow –
Bạn thêm một nút theo cùng một cách, nhưng bạn đặt một phương thức JavaScript khác trong onclick. Không, bạn không ghi đè saveRow hoặc editRow. Điều đó sẽ phá vỡ chỉnh sửa! –
Đừng quên thêm tại cấu hình jqgrid autoencode: false – Alonzzo2
câu trả lời cao nhất hiện tại đặt mã nút tùy chỉnh trong loadComplete. nó shoudl là gridComplete. API có thể đã được thay đổi kể từ khi câu hỏi được trả lời.
Điều này example có thể hữu ích. Xem trang này wiki và this answer từ Oleg.
các ví dụ của bạn đều liên quan đến thanh điều hướng. Người yêu cầu hỏi một nút trong hàng dữ liệu. –
@ lspcity: oops, xấu của tôi. – understack
Tôi đang sử dụng một jqgrid để hiển thị danh sách địa chỉ liên hệ. Tôi có một cột có tên 'Vai trò' với nút có nội dung 'Xác định', sao cho bạn có thể nhấp vào cột đó và xác định lại vai trò của liên hệ đó là chính, phụ, bán hàng hoặc khác.
Ban đầu, các yếu tố nút đã được gửi đến các tế bào lưới qua XML, trong đó $ rowid là id của hàng (PHP):
<cell><![CDATA[<button data-idx='{$rowid}' class='contact_role_button btn' title='Define Role...'>Define</button>]]></cell>
này đã làm việc tốt cho đến khi tôi đặt autoencode: true
trên lưới. Với tùy chọn này được đặt thành true, cột chỉ đơn giản hiển thị html.
Câu trả lời của Craig hiển thị hành vi tương tự, nhưng một biến thể nhỏ của nó đã thực hiện thủ thuật. Tôi nghĩ rằng tôi muốn chia sẻ:
gridcomplete: function() {
var ids = $grid.getDataIDs();
for (var i=0;i<ids.length;i++){
var cl = ids[i],
button = '<button data-idx="'+cl+'" class="contact_role_button btn" title="Define Role...">Define</button>';
if (cl.substr(0,2) !== "jq") {
$('#'+cl).find('td[aria-describedby="list_role"]').html(button);
}
}
}
Nói cách khác, phương pháp setRowData đã không làm việc với autoencode thiết lập là true, nhưng DOM có thể được thao tác như mong muốn trong sự kiện gridcomplete.
trong colModel, bạn có thể định dạng sử dụng định dạng theo mã sau
formatter:function (cellvalue, options, rowObject) {
return "<input type='button' value='somevalue' onclick='some_function'\>";
}
IMO, đây là câu trả lời đúng. – Chris
- 1. Thêm nút vào jqGrid thanh công cụ trên cùng
- 2. Thêm một Nút vào một DataFrid WPF
- 3. Thêm nút vào mỗi hàng trong listview
- 4. jQGrid, làm thế nào để thêm một hàng mới bên trong lưới điện, không phải thông qua một phương thức?
- 5. Làm cách nào để thêm datepicker vào hộp thoại thêm hàng trong jqGrid?
- 6. cột Thêm và hàng vào một hàng TableLayoutPanel động
- 7. Thêm một hàng vào một ma trận trong MATLAB
- 8. Thêm nút vào một Winforms DataGridView
- 9. Thêm hình ảnh vào cột jqgrid
- 10. SimpleXML cách thêm con vào một nút?
- 11. Thêm một nút vào ActionBar với ActionBarSherlock
- 12. Cách thêm hàng/ô động vào UITableView bằng cách nhấn một nút trong iPhone
- 13. Thêm một chú thích vào một nút Với SnakeYaml
- 14. Thêm một nút/thuộc tính vào một cây biểu hiện
- 15. Làm thế nào để thêm hàng vào giữa một TableLayoutPanel
- 16. Cách đặt giá trị mặc định nếu hàng được thêm bằng nút thêm nội tuyến trong jqgrid
- 17. Thêm chức năng vào jqGrid jQuery plugin
- 18. jqGrid làm nổi bật hàng mới được thêm
- 19. Thêm jqGrid Điều hướng Tùy chỉnh vào Thanh công cụ Hàng đầu
- 20. jqGrid thêm cột mới
- 21. Nút xóa tùy chỉnh trong jqGrid
- 22. Thêm một chuỗi văn bản vào một trường nhập khi người dùng nhấp vào một nút
- 23. Thêm một loạt các nút vào GridView trong một ứng dụng Android
- 24. Thêm nút vào lưới trong ExtJs
- 25. Nhấp vào nút jQuery làm mới của jqGrid chỉ kích hoạt một lần
- 26. Làm thế nào để thêm một lớp vào một hàng mới trong một datatables jquery?
- 27. Cách xóa các hàng trong jqgrid
- 28. Thêm nút xóa vào cột trong bảng
- 29. Thêm các nút theo chương trình vào một đoạn
- 30. Lập trình thêm các nút con vào một jstree
http://jsfiddle.net/russcam/VxpHf/ – understack