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

FilterTemplate problem in radgrid

14 Answers 214 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 26 Feb 2010, 04:59 AM
Hi,

this is shanker, I am doing one application .I am using filter template 
my code is

   <telerik:GridBoundColumn UniqueName="progress_card_type" DataField="progress_card_type" HeaderText="Progress Card Type" HeaderStyle-Width="200px" >
                        <FilterTemplate>
                            <telerik:RadComboBox ID="RadComboBoxCity" DataSourceID="SqlDataSource1" DataTextField="t"
                                DataValueField="progress_card_type_id" Height="100px" AppendDataBoundItems="true" SelectedText='<%# ((GridItem)Container).OwnerTableView.GetColumn("progress_card_type").CurrentFilterValue %>'
                                runat="server" OnClientSelectedIndexChanged="CityIndexChanged" >
                                <Items>
                                    <telerik:RadComboBoxItem Text="All" />
                                </Items>
                            </telerik:RadComboBox>
                            <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">

                                <script type="text/javascript">
                                    function CityIndexChanged(sender, args) 
                                    {
                                        var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
                                        tableView.filter("progress_card_type", args.get_item().get_text(), "EqualTo");
                                    }
                                </script>

                            </telerik:RadScriptBlock>
                        </FilterTemplate>

<HeaderStyle Width="200px"></HeaderStyle>
                    </telerik:GridBoundColumn>


it's not working properly please send any solutions and  here i want text filed and value filed of rad combobox how to get that 


thanks and regards
shanker.b

14 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 26 Feb 2010, 06:47 AM
Hi,

I believe you have issue setting the SelectedItem in the RadCombobox. In this case once the filter is applied the Selected Text changes back to ALL. So to override this I have set the Selected Text in the ItemCreated event.

C#
 protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) 
    { 
        if (e.Item is GridFilteringItem) 
         { 
             if (strSelected != ""
                 (e.Item.FindControl("RadComboBoxCity"as RadComboBox).SelectedValue = strSelected;  
        } 
         
    } 
 
  protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) 
    { 
        if (e.CommandName == RadGrid.FilterCommandName) 
        { 
          
            GridFilteringItem filterItem = (GridFilteringItem)e.Item; 
            string currentPattern = (filterItem[((Pair)e.CommandArgument).Second.ToString()].FindControl("RadComboBoxCity"as RadComboBox).SelectedItem.Value; 
            strSelected = currentPattern; 
        } 
    } 

You can access the RadComboBox text and value in the javascript using args.get_item()._parent._text and args.get_item()._parent._value

Hope this helps.

Thanks,
Princy
0
shanker bangari
Top achievements
Rank 1
answered on 26 Feb 2010, 06:53 AM
Hi

thank you for your response i want clear about that solution i can't understanding that please i want clearly  .

thanks and regards
shanker.b
0
shanker bangari
Top achievements
Rank 1
answered on 26 Feb 2010, 07:10 AM
Hi
 
It's working but when ever am selected "All" dropdwon values are clear how to solve that .

thanks and regards
shanker.B 
0
Shinu
Top achievements
Rank 2
answered on 26 Feb 2010, 09:17 AM
Hello Shanker,

You need to add a checking for the item All in the js function and pass NoFilter .This will clear the filter from the grid

JavaScript:
 
if (args.get_item()._parent._text == "All"
    tableView.filter("ProductName", args.get_item().get_text(), "NoFilter"); 
}  

-Shinu.
0
shanker bangari
Top achievements
Rank 1
answered on 26 Feb 2010, 11:08 AM

Hi shinu,

Thank you very much.thank you lot .
I have one problem.That is  at a time more than one values filtering is possible or not any solution please forward i have very argent of that requirement .

just like

  i have two combo box. am filter grid with using that combo box selected values  .


 I am waiting u r replay.

Thanks an regards
shanker.b

 


0
Mark Galbreath
Top achievements
Rank 2
answered on 26 Feb 2010, 01:40 PM
1. Where is strSelected declared?
2. What is the VB equivalent of
e.Item.FindControl( "rcb_Filter" ) As RadComboBox.SelectedValue = strSelected 
and
(filterItem[(( Pair )e.CommandArgument ).Second.ToString()].FindControl( "rcb_Filter" ) As RadComboBox ).SelectedItem.Value 
?

The Telerik code converter (http://converter.telerik.com/) crashes and burns whenever I try to use it.

For that matter, what IS the second code snippet?

Thanks,
Mark
0
shanker bangari
Top achievements
Rank 1
answered on 26 Feb 2010, 01:43 PM
strselected variable declared in global it,s static variable . 
0
Mark Galbreath
Top achievements
Rank 2
answered on 26 Feb 2010, 02:16 PM
Princy, based on the code in this thread, I modified my VB sub thus:
Protected Sub rcb_Filter_SelectedIndexChanged( o As Object, e As RadComboBoxSelectedIndexChangedEventArgs )  
    Dim filterExpression As String  
    If e.Value = "NONE" Then  
        filterExpression = "NoFilter" 
    Else  
        filterExpression = "( [COMMODITY] = '" + e.Value + "' )"  
    End If  
 
    RadGrid1.MasterTableView.FilterExpression = filterExpression 
    RadGrid1.MasterTableView.Rebind()  
End Sub  

And it works fine.  Now, about persisting the selected filter expression across rebinds?

Cheers!
Mark
0
shanker bangari
Top achievements
Rank 1
answered on 26 Feb 2010, 02:21 PM
Yes that current i hope
0
Mark Galbreath
Top achievements
Rank 2
answered on 26 Feb 2010, 02:30 PM
FWIW

I just found an excellent translator at http://www.carlosag.net/Tools/CodeTranslator/

Unfortunately, the combobox filter item index is still not persisting across rebinds.

Another issue: how do I control the font in the combobox?  It is impervious to any assignment in the aspx, including a CSS class.

Help!
Mark
0
shanker bangari
Top achievements
Rank 1
answered on 27 Feb 2010, 09:54 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
0
shanker bangari
Top achievements
Rank 1
answered on 27 Feb 2010, 09:56 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
0
shanker bangari
Top achievements
Rank 1
answered on 27 Feb 2010, 10:19 AM
Hi

this is shanker am doing one project my requirement is rad grid filtered by rad combo box .it"s working but I am face one problem that is when ever am click edit button and add add new button. than the rad grid is cleared.it's not showing data am second time am click the edit button it,s show the edit fields
how to sole this problem it"s argent please help me . 

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
0
shanker bangari
Top achievements
Rank 1
answered on 27 Feb 2010, 10:33 AM
Hi

this is shanker am doing one project my requirement is rad grid filtered by rad combo box .it"s working but I am face one problem that is when ever am click edit button and add add new button. than the rad grid is cleared.it's not showing data am second time am click the edit button it,s show the edit fields
how to sole this problem it"s argent please help me . 

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
Princy
Top achievements
Rank 2
shanker bangari
Top achievements
Rank 1
Shinu
Top achievements
Rank 2
Mark Galbreath
Top achievements
Rank 2
Share this question
or