2010-04-05 16 views
5

मैं इस प्रकार है, एक GridTemplateColumn कि एक चेकबॉक्स होता है के साथ एक Telerik RadGrid है:दोहराएं

<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 की एक विधि नहीं है, और यह चेक बॉक्स का एक iterable सूची उत्पन्न नहीं होगा: तो, उस विधि में, मैं इस तरह कोड चाहते हैं। टेम्पलेट कॉलम में चेकबॉक्स के माध्यम से फिर से शुरू करने का सही तरीका क्या है? धन्यवाद!

foreach (GridDataItem item in MyRadGrid.MasterTableView.Items) 
{ 
    CheckBox chk = (CheckBox)item.FindControl("MyCheckBox"); 
    // Set the value here 
} 

इस आशा किसी के लिए उपयोगी है:

उत्तर

16

Telerik वापस इस प्रकार है, जवाब के साथ अपने मंचों पर मेरे लिए मिल गया है!

1

मैं एक ही मुद्दा .. यह था कि कैसे मैंने किया ..

हो रहा है 'अब उपयोग करने के लिए एक स्थानीय hashtable बनाया गया और नहीं तो

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 

'चेक संरक्षित उप RadGrid2_ItemDataBound (ByVal इस वस्तु, ByVa के रूप में शामिल है के लिए एल ई As Telerik.Web.UI.GridItemEventArgs) हैंडल RadGrid2.ItemDataBound

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 
संबंधित मुद्दे