Tôi có một Telerik RadGrid với một GridTemplateColumn có chứa một hộp kiểm, như sau:lặp qua hàng/hộp kiểm trong một RadGrid
<telerik:GridTemplateColumn HeaderText="MINE" UniqueName="MyTemplateColumn">
<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
tôi muốn thiết lập các hộp là "checked" dựa trên một giá trị đọc từ cơ sở dữ liệu. Tôi có thể xử lý sự kiện ItemDataBound và đọc cơ sở dữ liệu khi mỗi hàng bị ràng buộc, nhưng điều đó dẫn đến việc tìm kiếm n. Thay vào đó, tôi muốn xử lý DataBound, và sau đó đặt tất cả các giá trị cùng một lúc. Vì vậy, trong phương pháp đó, tôi muốn mã như thế này:
// read all values from database first, then...
foreach(var chkbox in MyRadGrid.MasterTableView.Columns.FindByUniqueName("MyTemplateColumn").FindControl("MyCheckBox")) {
chkbox.Checked = oneValue;
}
Điều đó không hiệu quả, vì FindControl không phải là phương thức của GridColumn, và nó sẽ không tạo danh sách các hộp kiểm có thể lặp lại được. Cách chính xác để lặp qua các hộp kiểm trong cột mẫu là gì? Cảm ơn!