This is a migrated thread and some comments may be shown as answers.

[Solved] Selecting and deselecting no working as normal

1 Answer 86 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Pierre
Top achievements
Rank 1
Pierre asked on 11 Feb 2010, 02:20 PM
Hi,

I use same sample as found in demo webside and have some troubles.
If i select the header checkbox items are correctly selected. If deselect this checkbox no action is performed in selected items.
I can't use the suggested ItemCreatedEvent lauching the ItemPreRender because in this case when select, only my last item is selected no others and deselecting from header checkbox is not working.

grid :OnNeedDataSource="PlanGrid_NeedDataSource"  OnItemCreated="PlanGrid_ItemCreated"OnUpdateCommand="PlanGrid_UpdateCommand"
Template
 <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn"
                                                    <HeaderTemplate> 
                                                     <asp:CheckBox id="headerChkbox" OnCheckedChanged="ToggleSelectedState" AutoPostBack="True" runat="server"></asp:CheckBox> 
                                                    </HeaderTemplate> 
                                                    <ItemTemplate> 
                                                        <asp:CheckBox id="CheckBox1" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox> 
                                                    </ItemTemplate> 
                                            </telerik:GridTemplateColumn> 
protected void PlanGrid_ItemPreRender(object sender, EventArgs e) 
    { 
        ((sender as GridDataItem)["CheckBoxTemplateColumn"].FindControl("CheckBox1") as CheckBox).Checked = (sender as GridDataItem).Selected; 
   
    } 
    protected void ToggleRowSelection(object sender, EventArgs e) 
    { 
        ((sender as CheckBox).Parent.Parent as GridItem).Selected = (sender as CheckBox).Checked; 
    } 
    protected void ToggleSelectedState(object sender, EventArgs e) 
    { 
        if ((sender as CheckBox).Checked == true) 
        { 
            foreach (GridDataItem dataItem in PlanGrid.MasterTableView.Items) 
            { 
                (dataItem.FindControl("CheckBox1") as CheckBox).Checked = true
                dataItem.Selected = true;                 
            } 
        } 
        else 
        { 
            foreach (GridDataItem dataItem in PlanGrid.MasterTableView.Items) 
            { 
                (dataItem.FindControl("CheckBox1") as CheckBox).Checked = false
                dataItem.Selected = false;    
            } 
        } 
    } 
protected void PlanGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    { 
        // this will make the textbox for customer with Week ALLS not editable 
        if (e.Item is GridEditableItem && e.Item.IsInEditMode) 
        { 
            if (e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["PriceUs"] != null) 
            { 
                (e.Item as GridEditableItem)["PriceUs"].Enabled = false
            } 
            if (e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Week"] != null) 
            { 
                (e.Item as GridEditableItem)["Week"].Enabled = false
            } 
        } 
        //if (e.Item is GridDataItem) 
        //{ 
        //    e.Item.PreRender += new EventHandler(PlanGrid_ItemPreRender); 
        //} 
        //}  
    }  

u advice.
regards.

 

1 Answer, 1 is accepted

Sort by
0
Veli
Telerik team
answered on 16 Feb 2010, 03:43 PM
Hello Pierre,

You can actually try an alternative approach that is even easier. Attached is a sample page that demonstrates this. Let me know how it works for you.

Greetings,
Veli
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Tags
Grid
Asked by
Pierre
Top achievements
Rank 1
Answers by
Veli
Telerik team
Share this question
or