2013-07-23 34 views

Trả lời

35

Theo oblivion19's comment, đây là một giải pháp dụ (với một bối cảnh ít hơn) bằng cách thiết lập cellClass tài sản của một đối tượng columnDefs trong gridOptions:

HTML:

<div ng-grid="gridOptions"></div> 

JS:

$scope.someData = [{ "name": "MB", "age": 20 }, { "name": "KY", "age": 22 }]; 
$scope.gridOptions = { 
    data: 'someData', 
    columnDefs: [{ 
     field: 'name', 
     displayName: 'Name', 
     cellClass: 'grid-align' 
    }, { 
     field: 'age', 
     displayName: 'Age' 
    }] 
}; 

CSS:

.grid-align { 
    text-align: center; 
} 

Lưu ý rằng giải pháp này chỉ làm cho một số cột trung tâm (ví dụ, những người với cellClass quy định). Để thực hiện tất cả các cột được căn giữa, chỉ cần thêm class="grid-align" vào số ng-grid div thay thế.

+1

Dễ dàng hơn nhiều so với khuôn mẫu chỉ cho căn chỉnh và mạnh mẽ –

7

Có. Bạn muốn sử dụng mẫu ô hoặc hàng. Nó được định nghĩa trên cộtDefault trong bộ điều khiển nơi bạn thiết lập lưới ng.

columnDefs: [{field: 'name', displayName: 'Name'}, 
       {field:'age', displayName:'Age', cellTemplate: '<div ng-class="{green: row.getProperty(col.field) > 30}"><div style="text-align:center;" class="ngCellText">{{row.getProperty(col.field)}}</div></div>'}] 
    }; 

Tôi có bản cập nhật Plunker bên dưới có các cột được căn chỉnh ở giữa.

Plunker

+4

Cảm ơn người bạn đời giúp đỡ của bạn. Tôi thấy rằng tôi có thể thêm cellClass vào cột và tạo kiểu cho lớp đó bằng cách căn chỉnh văn bản. Nhưng phương pháp của bạn hoạt động tốt. Chúc mừng! – oblivion19

+3

Tôi thực sự nghĩ rằng câu trả lời của oblivion là giải pháp tốt nhất ở đây. Không cần phải có mẫu chỉ để đặt thuộc tính hiển thị. –

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