Lưới trong ExtJS 4 (Sencha) không cho phép chọn nội dung theo mặc định. Nhưng tôi muốn làm điều này có thể.Làm cho nội dung lưới ExtJS 4 có thể chọn
Tôi đã thử lưới này cấu hình:
viewConfig: {
disableSelection: true,
stripeRows: false,
getRowClass: function(record, rowIndex, rowParams, store){
return "x-selectable";
}
},
với các lớp css (về cơ bản hướng đến mọi yếu tố tôi có thể nhìn thấy trong Chrome):
/* allow grid text selection in Firefox and WebKit based browsers */
.x-selectable,
.x-selectable * {
-moz-user-select: text !important;
-khtml-user-select: text !important;
-webkit-user-select: text !important;
}
.x-grid-row td,
.x-grid-summary-row td,
.x-grid-cell-text,
.x-grid-hd-text,
.x-grid-hd,
.x-grid-row,
.x-grid-row,
.x-grid-cell,
.x-unselectable
{
-moz-user-select: text !important;
-khtml-user-select: text !important;
-webkit-user-select: text !important;
}
Tôi biết rằng bạn có thể ghi đè lên lưới hàng mẫu trong Ext 3 như dưới đây, nhưng tôi không biết làm thế nào để làm tương tự trong Ext 4:
templates: {
cell: new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} x-selectable {css}" style="{style}" tabIndex="0" {cellAttr}>',
'<div class="x-grid3-cell-inner x-grid3-col-{id}" {attr}>{value}</div>',
'</td>'
)
}
Any su ggestions nhiều đánh giá cao.
Awesome, cảm ơn. Tôi nghi ngờ rằng, đây là dấu hiệu tôi đang cố gắng sử dụng lưới cho thứ gì đó không có nghĩa - tôi đang sử dụng lưới hoàn toàn cho mục đích hiển thị và không sử dụng bất kỳ tính năng chỉnh sửa nào của nó. Tôi đã kết thúc bằng cách sử dụng một bảng điều khiển với một XTemplate mà kết xuất ra một bảng máy bay-jane. – keeny
@keeny Tôi biết điều này thực sự cũ, nhưng tôi thường sử dụng lưới để chỉ hiển thị chức năng. Chúng tuyệt vời để phân loại và tạo kiểu – WattsInABox