Итайте через строки / флажки в Radgrid
Вопрос
У меня есть Radgrid Telerik с GridtemPlateColumn, который содержит флажок, следующим образом:
<telerik:GridTemplateColumn HeaderText="MINE" UniqueName="MyTemplateColumn">
<ItemTemplate>
<asp:CheckBox id="MyCheckBox" runat="server"></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
Я хочу установить флажок, чтобы «проверить» на основе значения, прочитанного из базы данных. Я мог бы обрабатывать событие ItemDatabound и прочитать базу данных, когда каждая строка связана, но что приводит к N. Наблюдай. Вместо этого я хочу обрабатывать пакет по пазоре, а затем установить все значения одновременно. Итак, в этом методе я хочу, как код, как это:
// read all values from database first, then...
foreach(var chkbox in MyRadGrid.MasterTableView.Columns.FindByUniqueName("MyTemplateColumn").FindControl("MyCheckBox")) {
chkbox.Checked = oneValue;
}
Это не работает, потому что Findcontrol не является методом GridColumn, и он не генерирует намек на список флажков. Какой правильный способ потерять флажки в столбце шаблона? Спасибо!
Решение
Телерик вернулся ко мне на свои форумы с ответом, следующим образом:
foreach (GridDataItem item in MyRadGrid.MasterTableView.Items)
{
CheckBox chk = (CheckBox)item.FindControl("MyCheckBox");
// Set the value here
}
Надеюсь, это полезно для кого-то!
Другие советы
У меня такая же проблема .. Вот как я это сделал ..
«Создан локальный хеабельный, чтобы использовать сейчас и в противном случае
Private _GroupMembers As New Hashtable
«Загрузил его на страницу нагружать частную функцию getmembers () как логическое
Try
Dim da As New DataAccess
Dim ht As New Hashtable
Dim i As Int16 = 0
ht.Add("CAC", Session("cac"))
ht.Add("GroupID", _GroupID)
If da.GetData("rap_spGetGroupMemberList", ht) = True Then
If da.SQLDataRows.HasRows Then
While da.SQLDataRows.Read()
i = i + 1
_GroupMembers.Add(i, da.SQLDataRows("UserID"))
End While
End If
da.SQLDataRows.Dispose()
End If
da = Nothing
Catch ex As Exception
Console.Write(ex.Message)
End Try
End Function
«Проверка на содержание защищенных Sub Radgrid2_itemdatubound (ByVal отправитель в качестве объекта, BYVAL E AS TELERIK.WEB.UI.GRIDITEMEVENTARGS) обрабатывает Radgrid2.itemdatubound
Try
If e.Item.IsDataBound Then
If Not e.Item.DataItem("UserID") Is Nothing Then
If Not IsDBNull(e.Item.DataItem("UserID")) Then
Dim UserID As Long = e.Item.DataItem("UserID")
If _GroupMembers.ContainsValue(UserID) Then
e.Item.Selected = True
End If
End If
End If
End If
Catch ex As Exception
Console.Write(ex.Message)
End Try
End Sub