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

[Solved] checkbox problem in grid view

2 Answers 122 Views
Grid
This is a migrated thread and some comments may be shown as answers.
shanker bangari
Top achievements
Rank 1
shanker bangari asked on 22 Feb 2010, 07:04 AM
Hi,

My requirement is when ever am check the check box some control is enable is true and check box is false that control enable false 


am using this code 

 CheckBox chech = (((Telerik.Web.UI.GridDataItem)(grdprogresssetup.EditItems[0]))).EditFormItem.FindControl("showattendance") as CheckBox;
                if (chech.Checked == true)
                {
                    RadComboBox rdp_start_date = (((Telerik.Web.UI.GridDataItem)(grdprogresssetup.EditItems[0]))).EditFormItem.FindControl("rdp_start_date") as RadComboBox;
                    RadComboBox rdp_end_date = (((Telerik.Web.UI.GridDataItem)(grdprogresssetup.EditItems[0]))).EditFormItem.FindControl("rdp_end_date") as RadComboBox;
                    rdp_start_date.Enabled = true;
                    rdp_end_date.Enabled = true;
                }
                else
                {
                    RadComboBox rdp_start_date = (((Telerik.Web.UI.GridDataItem)(grdprogresssetup.EditItems[0]))).EditFormItem.FindControl("rdp_start_date") as RadComboBox;
                    RadComboBox rdp_end_date = (((Telerik.Web.UI.GridDataItem)(grdprogresssetup.EditItems[0]))).EditFormItem.FindControl("rdp_end_date") as RadComboBox;
                    rdp_start_date.Enabled = false;
                    rdp_end_date.Enabled = false;
                }

But it's work only edit mode i want both insert and update 

how to solve that 

thanks and regards

shanker.B

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 22 Feb 2010, 07:54 AM
Hello Shanker,

You can achieve this by attaching CheckedChanged event to CheckBox control and using the following code snippet to set property for other controls placed in EditItemTemplate. And example is shown below.

ASPX:
 
<telerik:GridTemplateColumn> 
    <EditItemTemplate> 
        <asp:CheckBox ID="CheckBox1" runat="server" Checked="true" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" /> 
    </EditItemTemplate> 
</telerik:GridTemplateColumn> 
<telerik:GridTemplateColumn> 
    <EditItemTemplate> 
        <telerik:RadComboBox ID="RadComboBox1" runat="server"
            <Items> 
                <telerik:RadComboBoxItem Text="Item1" /> 
                <telerik:RadComboBoxItem Text="Item2" /> 
            </Items> 
        </telerik:RadComboBox> 
    </EditItemTemplate> 
</telerik:GridTemplateColumn> 

CS:
 
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 
    { 
        CheckBox chkBox = (CheckBox)sender; 
        GridEditFormItem editItem = (GridEditFormItem) chkBox.NamingContainer; 
        RadComboBox comboBox = (RadComboBox)editItem.FindControl("RadComboBox1"); 
        comboBox.Enabled = chkBox.Checked;       
    } 

Regards,
Shinu.
0
shanker bangari
Top achievements
Rank 1
answered on 27 Feb 2010, 09:53 AM
Hi

this is shanker am doing project my requirement is rad grid filtered by rad combo box .when ever am click edit button and add new  the rad grid is cleared how to solve that  .

This is my code

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Facility.DataSource = studentremarks.org_view_facility_lookup();
                Facility.DataBind();
                
            }
        }
        public void getdata()
        {
            grdstudentremarks.DataSource = studentremarks.sch_view_sch_student_remark_list(RadcomFiscalyear.SelectedValue.GetInteger(), Radcomclass.SelectedValue.GetInteger());
            grdstudentremarks.DataBind();
        }
        protected void Facility_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            RadcomFiscalyear.DataSource = Feeschedulemanager.sch_view_fiscal_year_lookup(Facility.SelectedValue.GetInteger());
            RadcomFiscalyear.DataBind();
            Radcomclass.DataSource = studentremarks.sch_view_class_lookup(Facility.SelectedValue.GetInteger());
            Radcomclass.DataBind();
        }

        protected void Radcomclass_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            getdata();
        }

        protected void grdstudentremarks_DeleteCommand(object source, GridCommandEventArgs e)
        {
            GridEditableItem editedItem = e.Item as GridEditableItem;
            int? eventId = GetEventId(editedItem);
            if (eventId.HasValue)
            {

                try
                {
                    string status_text = String.Empty;
                    bool res = studentremarks.org_sproc_dml_org_person_remarks_del(eventId.Value, out status_text);
                    if (res)
                    {
                        DisplayMessage(false, "Fisacl_year deleted");
                    }
                    else
                    {
                        e.Canceled = true;
                        DisplayMessage(true, "Can't delete Fisacl_year. Reason: " + status_text);
                    }
                }
                catch (Exception ex)
                {
                    e.Canceled = true;
                    DisplayMessage(true, "Fisacl_year cannot be deleted. Reason: " + ex.Message);
                }
            }
            else
            {
                e.Canceled = true;
                DisplayMessage(true, "Such Fisacl_year does not exist");
            }
        }

        protected void grdstudentremarks_InsertCommand(object source, GridCommandEventArgs e)
        {
            int? faciltyid = LogonDetails.Instance.sys_lclvar_default_facility_id;

            GridEditableItem editedItem = e.Item as GridEditableItem;
            Dictionary<string, object> values = ParseEditValues(editedItem);
            string msg;
            if (ValidateFields(values, out msg))
            {
                try
                {
                    LogonDetails det = LogonDetails.Instance;
                    string status_text = String.Empty;
                    bool res = studentremarks.org_sproc_dml_org_person_remarks_ins(Convert.ToInt32(values["StudentName"])as int?,Convert.ToInt32(values["ReportedResource"])as int?,
                    values["RemarkDate"] as DateTime?,values["description"]as string ,(bool)values["BadRemark"], out status_text, (bool)values["Goodremark"]);
                    if (res)
                    {
                        DisplayMessage(false, "Fisacl_year inserted");
                    }
                    else
                    {
                        e.Canceled = true;
                        DisplayMessage(true, "Can't insert Fisacl_year. Reason: " + status_text);
                    }
                }
                catch (Exception ex)
                {
                    e.Canceled = true;
                    DisplayMessage(true, "Fisacl_year cannot be inserted. Reason: " + ex.Message);
                }
            }
            else
            {
                e.Canceled = true;
                DisplayMessage(true, msg);
            }
        }

        protected void grdstudentremarks_UpdateCommand(object source, GridCommandEventArgs e)
        {
            int? faciltyid = LogonDetails.Instance.sys_lclvar_default_facility_id;
            GridEditableItem editedItem = e.Item as GridEditableItem;
            Dictionary<string, object> values = ParseEditValues(editedItem);
            int? eventId = GetEventId(editedItem);
            if (eventId.HasValue)
            {
                try
                {
                    string status_text = String.Empty;
                    bool res = studentremarks.org_sproc_dml_org_person_remarks_upd(eventId.Value, Convert.ToInt32(values["StudentName"]) as int?, Convert.ToInt32(values["ReportedResource"]) as int?,
                    values["RemarkDate"] as DateTime?, values["description"] as string, (bool)values["BadRemark"], out status_text, (bool)values["Goodremark"]);
                    if (res)
                    {
                        DisplayMessage(false, "Fisacl_year updated");
                    }
                    else
                    {
                        e.Canceled = true;
                        DisplayMessage(true, "Can't update Fisacl_year. Reason: " + status_text);
                    }
                }
                catch (Exception ex)
                {
                    e.Canceled = true;
                    DisplayMessage(true, "Fisacl_year cannot be updated. Reason: " + ex.Message);
                }
            }
            else
            {
                e.Canceled = true;
                DisplayMessage(true, "Such Fisacl_year does not exist");
            }
        }

        protected void grdstudentremarks_PreRender(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                //GridColumn editColumn = grdstudentremarks.MasterTableView.GetColumn("EditCommandColumn");
                //if (editColumn != null) { editColumn.Visible = CanUpdate; }
                GridColumn deleteColumn = grdstudentremarks.MasterTableView.GetColumn("DeleteCommandColumn");
                if (deleteColumn != null) { deleteColumn.Visible = CanDelete; }
                if (!CanInsert)
                {
                    HideInsertCol(grdstudentremarks);
                }
                getdata();
            }
        }

        protected override int GetScreenId()
        {
            return Screens.studentremarks;
        }
        private bool ValidateFields(Dictionary<string, object> values, out string msg)
        {
            msg = String.Empty;
            bool res = false;
            if (values != null)
            {
                res = true;
                if ((!values.ContainsKey("fiscal_year")) || (values["fiscal_year"] == null) || (string.IsNullOrEmpty(values["fiscal_year"].ToString())))
                {
                    msg = "Select Fiscalyear";
                    res = false;
                }
            }
            return res;
        }
        private int? GetEventId(GridItem item)
        {
            int? id = null;
            if (item != null)
            {
                if (item.ItemIndex >= 0)
                {
                    id = item.OwnerTableView.DataKeyValues[item.ItemIndex]["person_id"].ToString().GetInteger();
                }
            }
            return id;
        }
        private Dictionary<string, object> ParseEditValues(GridEditableItem editedItem)
        {
            Dictionary<string, object> dic = new Dictionary<string, object>();

            if (editedItem != null)
            {
                editedItem.OwnerTableView.ExtractValuesFromItem(dic, editedItem);
                RadComboBox StudentName = editedItem.FindControl("StudentName") as RadComboBox;
                if (StudentName != null)
                {
                    dic.Add("StudentName", StudentName.SelectedValue.GetInteger());
                }
                RadComboBox ReportedResource = editedItem.FindControl("ReportedResource") as RadComboBox;
                if (ReportedResource != null)
                {
                    dic.Add("ReportedResource", ReportedResource.SelectedValue.GetInteger());
                }
                RadDatePicker RemarkDate = editedItem.FindControl("RemarkDate") as RadDatePicker;
                if (RemarkDate != null)
                {
                    dic.Add("RemarkDate", RemarkDate.SelectedDate);
                }
                TextBox txtDescription = editedItem.FindControl("txtDescription") as TextBox;
                if (txtDescription != null)
                {
                    dic.Add("description", txtDescription.Text);
                }

                CheckBox Goodremark = editedItem.FindControl("Goodremark") as CheckBox;
                dic.Add("Goodremark", Goodremark.Checked);
                CheckBox BadRemark = editedItem.FindControl("BadRemark") as CheckBox;
                dic.Add("BadRemark", BadRemark.Checked);
            }
            return dic;
        }

        protected void grdstudentremarks_ItemDataBound(object sender, GridItemEventArgs e)
        {
            int? faciltyid = Facility.SelectedValue.GetInteger();

            if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
            {
                int? eventId = GetEventId(e.Item);
                RadComboBox StudentName = e.Item.FindControl("StudentName") as RadComboBox;
                if (StudentName != null)
                {
                    StudentName.DataSource = studentremarks.sch_view_class_student_lookup(faciltyid,Radcomclass.SelectedValue.GetInteger(),RadcomFiscalyear.SelectedValue.GetInteger());
                    StudentName.DataBind();
                }
                RadComboBox ReportedResource = e.Item.FindControl("ReportedResource") as RadComboBox;
                if (ReportedResource != null)
                {
                    ReportedResource.DataSource = subjectmanager.org_view_department_lookup();
                    ReportedResource.DataBind();
                }
               


                if (e.Item.OwnerTableView.IsItemInserted)
                {
                    //item is about to be inserted
                }
                else
                {
                    if (eventId.HasValue)
                    {
                        var det = studentremarks.sch_view_sch_student_remark_detail(eventId.Value);



                        if (det != null)
                        {
                            
                            TextBox txtDescription = e.Item.FindControl("txtDescription") as TextBox;
                            if (txtDescription != null)
                            {
                                txtDescription.Text = det.description;
                            }
                            RadDatePicker RemarkDate = e.Item.FindControl("RemarkDate") as RadDatePicker;
                            if (RemarkDate != null)
                            {
                              
                                RemarkDate.SelectedDate = det.remark_date;
                            }
                            CheckBox Goodremark = e.Item.FindControl("Goodremark") as CheckBox;
                            {
                                if (Goodremark != null)
                                {
                                    Goodremark.Checked = det.good_remark;
                                }

                            }
                            CheckBox BadRemark = e.Item.FindControl("BadRemark") as CheckBox;
                            {
                                if (BadRemark != null)
                                {
                                    BadRemark.Checked = det.bad_remark;
                                }

                            }
                        }
                    }
                }
            }
        }


please how to solve that it,s argent 

thanks and regards
shanker.B
Tags
Grid
Asked by
shanker bangari
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
shanker bangari
Top achievements
Rank 1
Share this question
or