Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
117 views
Hi,

I have an event order problem on my radgrid. The problem is that the OnPageIndexChanged is raised after OnNeedDataSource and the pager index is the old one. (if I press the '2' button from the pagger the value of the ResultRadGrid.CurrentPageIndex is 0 and when I press the '1' button againd the ResultRadGrid.CurrentPageIndex is 1). I need to call the OnPageIndexChanged  before OnNeedDataSource  for changing the page index value to new page index value. 

My code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Page/ResumeAdvisor/MasterPage/ResumeAdvisor.master" ValidateRequest="false"
    AutoEventWireup="true" CodeBehind="MyApplicants.aspx.cs" Inherits="w000250.FrontOffice.Page.ResumeAdvisor.Workflow.MyApplicants"
    Culture="auto" meta:resourcekey="PageResource1" UICulture="auto" %>
 
<%@ Register Src="../UserControl/SearchPanel.ascx" TagName="SearchPanel" TagPrefix="uc1" %>
<%@ Register Src="../UserControl/MemorizeSearch.ascx" TagName="MemorizeSearchPanel" TagPrefix="uc" %>
<%@ Register Src="../UserControl/CandidateView.ascx" TagName="CandidateView" TagPrefix="uc2" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContentPlaceHolder" runat="server">
 
        <script language="javascript" type="text/javascript">
            //<![CDATA[
            function grant_approval(arg) {
                if (arg == true) {
                    $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("GiveLabel");
                }
            }
 
            function withdraw_approval(arg) {
                if (arg == true) {
                    $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RemoveLabel");
                }
            }
 
            function removes_approval(arg) {
                if (arg == true) {
                    $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("RemoveFromCandidates");
                }
            }
             
            //]]>
        </script>
</asp:Content>
 <telerik:RadGrid ID="ResultRadGrid" runat="server" AutoGenerateColumns="False" AllowMultiRowSelection="True"
            AllowPaging="true" AllowSorting="True" OnPageIndexChanged="ResultRadGrid_PageIndexChanged"
            PagerStyle-Mode="NextPrevAndNumeric" PagerStyle-Position="TopAndBottom" PageSize="5"
            OnNeedDataSource="ResultRadGrid_OnNeedDataSource" OnItemCommand="ResultRadGrid_OnItemCommand"
            AllowCustomPaging="true" VirtualItemCount="10000" PagerStyle-EnableSEOPaging="false"
            GridLines="Vertical" PagerStyle-SEOPagingQueryStringKey="page" OnItemCreated="ResultRadGrid_OnItemCreated">
            <ItemStyle />
            <AlternatingItemStyle />
            <MasterTableView CellSpacing="-1" CommandItemDisplay="Bottom">
                <PagerStyle Mode="NumericPages" Position="TopAndBottom" AlwaysVisible="true" />
                <%-- Pager - Modifier le panel numeric --%>
                <PagerTemplate>
                    <div class="pager">
                        <span class="pagerPrev">
                            <asp:Button ID="ButtonFirst" runat="server" OnClientClick="changePage('first'); return false;"
                                CommandName="Page" CommandArgument="First" Text="" CssClass="PagerButton FirstPage" />
                            <asp:Button ID="ButtonPrev" runat="server" OnClientClick="changePage('prev'); return false;"
                                CommandName="Page" CommandArgument="Prev" Text="" CssClass="PagerButton PrevPage" />
                        </span>
                        <asp:Panel runat="server" ID="NumericPagerPlaceHolder" CssClass="pagerNumber" />
                        <span class="pagerNext">
                            <asp:Button ID="ButtonNext" runat="server" OnClientClick="changePage('next'); return false;"
                                CommandName="Page" CommandArgument="Next" Text="" CssClass="PagerButton NextPage" />
                            <asp:Button ID="ButtonLast" runat="server" OnClientClick="changePage('last'); return false;"
                                CommandName="Page" CommandArgument="Last" Text="" CssClass="PagerButton LastPage" />
                        </span>
                    </div>
                </PagerTemplate>
                <CommandItemTemplate>
                    <asp:Button ID="NoTrackingButton" runat="server" CssClass="buttonLong" OnClick="NoTrackingButton_Click"
                        Text="Ne souhaite pas être suivi" meta:resourcekey="NoTrackingButtonResource1" />
                    <asp:Button ID="RemoveFromCandidatesButton" runat="server" CssClass="buttonLong"
                        Text='Supprimer de "Mes candidats"' meta:resourcekey="RemoveFromCandidatesButtonResource1"
                        Visible="true" Enabled="true" />
                    <asp:Button ID="LabelizeCandidatesButton" runat="server" CssClass="buttonBig" Text="Accorder le label"
                        meta:resourcekey="LabelizeCandidatesButtonResource1" Visible="true" Enabled="true" />
                    <asp:Button ID="UnLabelizeCandidatesButton" runat="server" CssClass="buttonBig" Text="Retirer le label"
                        meta:resourcekey="UnLabelizeCandidatesButtonResource1" Visible="true" Enabled="true" />
                    <asp:Button ID="ContactButton" runat="server" OnClick="ContactButton_Click" CssClass="buttonBig"
                        Text="Contacter" meta:resourcekey="ContactButtonResource1" Visible="true" Enabled="true" />
                </CommandItemTemplate>
                <NoRecordsTemplate>
                    <asp:Label ID="NoResultLabel" runat="server" Text="Aucun résultat ne correspond  à votre recherche"></asp:Label></NoRecordsTemplate>
                <RowIndicatorColumn>
                    <HeaderStyle Width="20px" />
                </RowIndicatorColumn>
                <ExpandCollapseColumn>
                    <HeaderStyle Width="20px" />
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridTemplateColumn UniqueName="DataItemTemplateColumn">
                        <ItemStyle CssClass="dataItem" />
                        <ItemTemplate>
                            <uc2:CandidateView ID="CandidateViewUC" runat="server" DataSource="<%# Container.DataItem %>"
                                EnableProfileLink="true" EnableContactLink="true" IsMyApplicantPage="true" EnableAddToCandidateLink="false"
                                EnableSeeCompleteFolder="true" EnableRemoveFromCandidatesLink="true" EnableAddOrRemoveLabelLink="true"
                                ParentUrl="~/Page/ResumeAdvisor/Workflow/MyApplicants.aspx" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn">
                        <ItemStyle CssClass="clientSelect" HorizontalAlign="Center" VerticalAlign="Middle"
                            Width="30px" />
                        <HeaderStyle CssClass="clientSelect" Height="30" Width="30px" HorizontalAlign="Center" />
                        <HeaderTemplate>
                            <asp:CheckBox ID="headerChkbox" runat="server" OnCheckedChanged="ToggleSelectedState"
                                AutoPostBack="True" />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <div class="clientSelectContent">
                                <asp:CheckBox ID="selecteditem" runat="server" OnCheckedChanged="ToggleRowSelection"
                                    AutoPostBack="true" />
                            </div>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>
        </telerik:RadGrid>
 <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"
        OnAjaxRequest="RadAjaxManager1_AjaxRequest" AsyncPostBackTimeOut="600000">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ResultRadGrid" />
                </UpdatedControls>
            </telerik:AjaxSetting>
            <telerik:AjaxSetting AjaxControlID="ResultRadGrid">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ResultRadGrid" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default">
    </telerik:RadAjaxLoadingPanel>


my C# code
protected void ResultRadGrid_OnItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridPagerItem)
            {
                GridPagerItem gridPager = e.Item as GridPagerItem;
                Control numericPagerControl = gridPager.GetNumericPager();
                Control placeHolder = gridPager.FindControl("NumericPagerPlaceHolder");
                placeHolder.Controls.Add(numericPagerControl);
            }
        }
 
private List<AbgService.Resume> SearchResume()
        {
            List<AbgService.Resume> resumes = Business.ResumeAdvisor.ResumeAdvisorManagement.FindMyApplicants(MyResumeSearchPanel.ParamSpecialisationId, MyResumeSearchPanel.ParamExperienceLevelId,
                        MyResumeSearchPanel.ParamQuickSearch, MyResumeSearchPanel.ParamFilterResumeWithLabel, MyResumeSearchPanel.paramEmail,
                        MyResumeSearchPanel.paramState == ResumeStateEnum.Suspended || MyResumeSearchPanel.paramState == null,
                        MyResumeSearchPanel.paramState == ResumeStateEnum.Published || MyResumeSearchPanel.paramState == null,
                        MyResumeSearchPanel.paramState == ResumeStateEnum.Preparation || MyResumeSearchPanel.paramState == null,
                        MyResumeSearchPanel.paramPromotion, MyResumeSearchPanel.paramDoctorateSchool, MyResumeSearchPanel.paramDiplomaInstitution,
                        MyResumeSearchPanel.paramCurrentSituation, MyResumeSearchPanel.ParamSite, MyResumeSearchPanel.ParamResumesPerPage, ResultRadGrid.CurrentPageIndex);
            if (resumes != null)
            {
                resumes.Sort(ResumeComparer.GetResumeComparer(MyResumeSearchPanel.ParamSortBy));
 
                int itemsNumber =Business.ResumeAdvisor.ResumeAdvisorManagement.FindMyApplicantsCount(MyResumeSearchPanel.ParamSpecialisationId, MyResumeSearchPanel.ParamExperienceLevelId,
                          MyResumeSearchPanel.ParamQuickSearch, MyResumeSearchPanel.ParamFilterResumeWithLabel, MyResumeSearchPanel.paramEmail,
                          MyResumeSearchPanel.paramState == ResumeStateEnum.Suspended || MyResumeSearchPanel.paramState == null,
                          MyResumeSearchPanel.paramState == ResumeStateEnum.Published || MyResumeSearchPanel.paramState == null,
                          MyResumeSearchPanel.paramState == ResumeStateEnum.Preparation || MyResumeSearchPanel.paramState == null,
                          MyResumeSearchPanel.paramPromotion, MyResumeSearchPanel.paramDoctorateSchool, MyResumeSearchPanel.paramDiplomaInstitution,
                          MyResumeSearchPanel.paramCurrentSituation, MyResumeSearchPanel.ParamSite, MyResumeSearchPanel.ParamResumesPerPage, ResultRadGrid.CurrentPageIndex);
                ResultRadGrid.MasterTableView.VirtualItemCount = itemsNumber;
                ResumeNumberValue.Text = itemsNumber.ToString();
           
                if (resumes.Count == 0)
                {
                    DisplayGridResults.Visible = false;
                }
                else
                {
                    DisplayGridResults.Visible = true;
                }
            }
            return resumes;
        }
 
protected void ResultRadGrid_OnNeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            List<AbgService.Resume> resumeArrayToDisplay = this.SearchResume();
            ResultRadGrid.DataSource = resumeArrayToDisplay;
             
        }
 
        protected void ResultRadGrid_PageIndexChanged(object source, Telerik.Web.UI.GridPageChangedEventArgs e)
        {
            //a
        }


Thanks.
Tsvetina
Telerik team
 answered on 28 Feb 2011
1 answer
263 views
Hi,

I have a requirement wherein I need to open a new row in insert mode in a RadGrid with inline editing. This should be done from my C# code. A button event on my page will cause this new row to be added and a GridBoundColumn whose TextControl is rendered should be prepopulated with some text. I tried doing Grid1.EditIndexes.Add(countOfItems) but to no sucess. I think the EditIndexes property is used to open up an existing record in update mode. I am using a DataTable to bind the DataSource.

Thanks In Advance.
Princy
Top achievements
Rank 2
 answered on 28 Feb 2011
1 answer
130 views
Getting a wierd error with radinput controls with previosuly tested code.  radtextbox and radmaskedtextbox are throwing the error: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus." when I use the right or left arrow key to position the cursor within the textbox.  the textbox accepts input and I can type, but if I try to go back and correct it I get that error.  Seems to have only just appeared.  I'm using one version back from the current radcontrols dues to an error in the current version that I don't recall that had a solution only available in a hotfix.  2010.3.1109

Any Ideas?

Thanks
Jonathan

Pavel
Telerik team
 answered on 28 Feb 2011
1 answer
186 views
Hi,
I have a RadGrid that is bound to a SqlDataSource. I want to show or hide the new record button in the CommandItem area as well as the edit and delete buttons based on a value from the SqlDataSource.
Ive been looking at this for a bit and it does not seem like there is a simple way to do it.
Any help would be greatly appreciated.
Thanks
Alex
Princy
Top achievements
Rank 2
 answered on 28 Feb 2011
3 answers
65 views
Hello,

we have recently upgraded to Q3 2010, and are experiencing a problem with the rendering of our RadDateTimePickers. They render correctly under firefox 3.6.12 but under IE 8.0.6001.18702 they throw to the bottom of the page and become unuseable.

I have tried to replace the calendar.css and associated sprites with some from one of the new sample skins but that created a whole new raft of issues.

Could you please advise as to what we might do? 
mark
Top achievements
Rank 1
 answered on 28 Feb 2011
1 answer
284 views
Hi:
I am working on RadGrid, where in i got in to a situation i need to show current row number in the grid footer.

Ex: Total number of rows in the grid is 30, say if i seleted 5 th row , it has to show in the footer  as  " selected row is 5/30"

any help is appreciated.

Thanks
Vasu
Princy
Top achievements
Rank 2
 answered on 28 Feb 2011
1 answer
211 views
I want to use chinese in control , for example, I want to change "update" to "??"  , change "cancel"  to "??"  in Grid control , if you know question, please tell me , thank you very much. 
Shinu
Top achievements
Rank 2
 answered on 28 Feb 2011
0 answers
31 views
When i select data in combobox.and the second control is also combobox and the second combobox has an autopostback .when the second combo box triggers postback the first combobox looses the selected data.please tell me what i will do???
umar
Top achievements
Rank 1
 asked on 28 Feb 2011
0 answers
110 views
Hi,
    I wanna write some code in every dropdownbutton_hower event but theres no such event. Is there any way to create it or any alternative?
  
   One more question is
  
  I'm unable to  enter items in RadCombobox Element of RadToolstrip control. Can u suggest me?

Thanks in advance...
krishna
Top achievements
Rank 1
 asked on 28 Feb 2011
1 answer
321 views
Hi people.i have a radgrid  in employes form.i want  when user click add new record set value  code column with a special string which user see it
please help to me.
Princy
Top achievements
Rank 2
 answered on 28 Feb 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Top users last month
Shiori
Top achievements
Rank 2
Iron
Tien
Top achievements
Rank 1
Iron
Robert
Top achievements
Rank 1
Rob
Top achievements
Rank 4
Bronze
Bronze
Iron
Geoff
Top achievements
Rank 1
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?