Click here to Skip to main content
15,891,905 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
hi! can you help me with this one?
i have a datagrid with 2 columns: a checkbox and a string binded to a datamember.
when i check the header checkbox, it should check all checkboxes on each rows.
i want to delete the checked rows... how can i do that?

here's my code:

//xaml
XML
<telerik:RadGridView Name="GridView_List" GIsFilteringAllowed="False" AutoGenerateColumns="False" SelectionMode="Extended">
    <telerik:RadGridView.Columns>
        <telerik:GridViewSelectColumn />
        <telerik:GridViewDataColumn Header="Gridview Style" DataMemberBinding="{Binding FilterName}"/>
    </telerik:RadGridView.Columns>
</telerik:RadGridView>



XML
//.cs
namespace ReportsUIScreens
{
    public partial class GridviewSetting_List : ChildWindow
    {
        private List<filterHistory> histList;
        public GridviewSetting_List(List<filterHistory> histListLink)
        {
            InitializeComponent();
            histList = histListLink;
            this.GridView_List.ItemsSource=histList;
        }
        private void DeleteButton_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            //here's where i want to delete the checked row(s)
        }
    }
}
Posted

Hi,

I've been on this scenario before and this article[^] helped me solve the problem.

Try searching google with keywords 'telerik+radgrid+delete+checkbox'
 
Share this answer
 
Comments
Member 7838027 2-May-11 2:55am    
thanks
Pong D. Panda 2-May-11 3:00am    
if it helped you solve your problem, mark this as solved
i got this soluiton from one of my projects it will help u just need to change the field name and column value

HTML CODE
XML
<Columns>
                   <telerik:GridTemplateColumn UniqueName="Checked">
                       <ItemTemplate>
                           <asp:CheckBox ID="chkPermission" runat="server" AutoPostBack="true" OnCheckedChanged="chkPermission_Checked" />
                       </ItemTemplate>
                       <HeaderTemplate>
                           <asp:CheckBox ID="headerChkbox" runat="server" OnCheckedChanged="ToggleSelectedState"
                               AutoPostBack="true" />
                       </HeaderTemplate>
                   </telerik:GridTemplateColumn>
                   <telerik:GridTemplateColumn UniqueName="PermissionID" Visible="false">
                       <ItemTemplate>
                           <asp:HiddenField ID="hfPermissionID" runat="server" Value='<%#Eval("PermissionID") %>' />
                       </ItemTemplate>
                   </telerik:GridTemplateColumn>
                   <telerik:GridBoundColumn DataField="PermissionTypeName" HeaderText="PermissionTypeName"
                       SortExpression="PermissionTypeName" UniqueName="PermissionTypeName">
                   </telerik:GridBoundColumn>
               </Columns>


AND IN CODE BEHIND U CAN USE FOLLOWING FUNCTION JUST TO GET THAT SELECTED ID's AND LOOP THROUGH EACH OF THEM AND DO WHATEVER U WANT TO DO
VB
Protected Sub ToggleSelectedState(ByVal sender As Object, ByVal e As EventArgs)
       'Check all checkbox
       Dim headerCheckBox As CheckBox = TryCast(sender, CheckBox)
       For Each dataItem As GridDataItem In rgPermission.MasterTableView.Items
           TryCast(dataItem.FindControl("chkPermission"), CheckBox).Checked = headerCheckBox.Checked
           dataItem.Selected = headerCheckBox.Checked
       Next

   End Sub

   'chkEmail_Checked

   Public Sub chkPermission_Checked(ByVal sender As Object, ByVal e As EventArgs)
       'Check selected checkbox
       Dim chkEmail As CheckBox = TryCast(sender, CheckBox)

       For Each dataItem As GridDataItem In rgPermission.MasterTableView.Items
           If TryCast(dataItem.FindControl("chkPermission"), CheckBox).Checked Then
               dataItem.Selected = True
           Else
               dataItem.Selected = False
           End If
       Next

   End Sub


VB
Protected Sub btnAddnPermission_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddnPermission.Click

       For Each dataItem As GridDataItem In rgPermission.MasterTableView.Items
           If TryCast(dataItem.FindControl("chkPermission"), CheckBox).Checked Then
               hfPermissionID.Value += (TryCast(dataItem.FindControl("hfPermissionID"), HiddenField).Value) + "|"
               'hfPageUserEmail.Value += (TryCast(dataItem.FindControl("emailAddress"), HiddenField).Value) + "|"
           End If
       Next

C++
If hfPermissionID.Value <> "" Then


VB
Dim test As String = hfPermissionID.Value
       Dim myStringArr() As String = Split(test, "|")
       Dim userID As Integer = CInt(ddlADUser.SelectedValue)
       If myStringArr IsNot Nothing Then
           Dim i As Integer = 0
           For Each s As String In myStringArr
               Dim IDs As String = myStringArr(i).ToString
               If IDs <> "" Then

                   Try
                       boolVal = df.InsertPermissionByUserID(userID, CInt(IDs))
                   Catch ex As Exception
                       ErrorMessage(ex.InnerException.Message)
                   End Try
               End If

               i += 1
           Next
       End If


C++
End Sub


NOTE IN MY FOR EACH LOOP ID's IS THE ID OF THE VALUE I HAVE SELECTED FROM RADGRID
AND TO STORE THAT VALUE IM USING HIDDEN FIELD IN RADGRID ITEM TEMPLATE.....HOPE IT WILL HELP YOU....
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900