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

RadGrid in Page_Init Sort Doesn't Work

1 Answer 46 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Justin
Top achievements
Rank 1
Justin asked on 02 Sep 2011, 04:45 PM
I have a RadGrid in the Page_Init and the columns sort, but when I click on the column it sorts the column to the right of it or a random column. Not the one I clicked on. It works correctly in Page_Load, but I need it in Page_Init because my checkboxes don't work correctly in Page_Load. Any idea how to fix this?

Code Behind:
private void Page_Init(object sender, EventArgs e)
 {
            var linqQuery = (from r in lServiceContext.CreateQuery("opportunity")
                          join a in lServiceContext.CreateQuery("account") on ((EntityReference)r["accountid"]).Id equals a["accountid"]
                          join c in lServiceContext.CreateQuery("contact") on ((EntityReference)r["new_contact"]).Id equals c["contactid"]
                          where ((EntityReference)r["new_channelpartner"]).Id.Equals(lProfileProperty.PropertyValue)
                          select new
                          {
                              OpportunityId = !r.Contains("opportunityid") ? string.Empty : r["opportunityid"],
                              CustomerId = !r.Contains("customerid") ? string.Empty : ((EntityReference)r["customerid"]).Name,
                              Priority = !r.Contains("opportunityratingcode") ? string.Empty : r.FormattedValues["opportunityratingcode"],
                              ContactName = !r.Contains("new_contact") ? string.Empty : ((EntityReference)r["new_contact"]).Name,
                              Source = !r.Contains("new_source") ? string.Empty : ((String)r["new_source"]),
                              CreatedOn = !r.Contains("createdon") ? string.Empty : ((DateTime)r["createdon"]).ToShortDateString(),
                              State = !a.Contains("address1_stateorprovince") ? string.Empty : ((String)a["address1_stateorprovince"]),
                              Zip = !a.Contains("address1_postalcode") ? string.Empty : ((String)a["address1_postalcode"]),
                              Eval = !r.Contains("new_colderevaluation") ? "NA" : r.FormattedValues["new_colderevaluation"].Substring(0, 2),
                              EvalVal = !r.Contains("new_colderevaluation") ? "NA" : ((OptionSetValue)r["new_colderevaluation"]).Value.ToString(),
                              DistributorName = !r.Contains("new_channelpartner") ? string.Empty : ((EntityReference)r["new_channelpartner"]).Name,
                              ContactStreetAddress = !c.Contains("address1_line1") ? string.Empty : c["address1_line1"],
                              ContactCity = !c.Contains("address1_city") ? string.Empty : c["address1_city"],
                              ContactState = !c.Contains("address1_stateorprovince") ? string.Empty : c["address1_stateorprovince"],
                              ContactZip = !c.Contains("address1_postalcode") ? string.Empty : c["address1_postalcode"],
                              ContactPhone = !c.Contains("telephone1") ? string.Empty : c["telephone1"],
                              ContactMobilePhone = !c.Contains("mobilephone") ? string.Empty : c["mobilephone"],
                              ContactEmail = !c.Contains("emailaddress1") ? string.Empty : c["emailaddress1"],
                              Notes = !r.Contains("new_rsmnotes") ? string.Empty : r["new_rsmnotes"],
                              EstimatedCloseDate = !r.Contains("estimatedclosedate") ? string.Empty : r["estimatedclosedate"],
                              MaturityValue = !r.Contains("estimatedvalue") ? string.Empty : ((Money)r["estimatedvalue"]).Value.ToString()
                          });
 
         grdLeadList.DataSource = linqQuery;
 
         grdLeadList.DataBind();
 
     }


Grid:
<telerik:radgrid id="grdLeadList" runat="server" autogeneratecolumns="false" allowpaging="True"
    allowsorting="True" pagesize="5" allowautomaticupdates="true" gridlines="None"
    allowmultirowselection="true" onitemcommand="grdLeadList_ItemCommand" DataKeyNames="opportunityid" style="float: left; width: 965px;">
<ExportSettings HideStructureColumns="true" >
    <Excel Format="ExcelML" />
    <Csv ColumnDelimiter="Comma" RowDelimiter="NewLine" />
    <Pdf />
</ExportSettings>
<PagerStyle Mode="NextPrevNumericAndAdvanced" />
<MasterTableView Width="100%" TableLayout="Auto">
    <CommandItemSettings ShowExportToExcelButton="false" ShowExportToCsvButton="false" ShowExportToPdfButton="false" ShowAddNewRecordButton="false" />
    <Columns>
        <telerik:GridTemplateColumn UniqueName="CkhSelect" HeaderText="Select">
          <ItemTemplate>
            <asp:CheckBox ID="chkbxselect" runat="server" />
          </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridEditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit" />
        <telerik:GridBoundColumn DataField="OpportunityId" UniqueName="OpportunityId" Visible="false" />
        <telerik:GridBoundColumn DataField="CustomerId" HeaderText="Company Name" SortExpression="CustomerId" UniqueName="CompanyName" />
        <telerik:GridBoundColumn DataField="Priority" HeaderText="Priority" SortExpression="Priority" UniqueName="Priority" />
        <telerik:GridBoundColumn DataField="Eval" HeaderText="Eval" SortExpression="Eval" UniqueName="Eval" />
        <telerik:GridBoundColumn DataField="ContactName" HeaderText="Contact Name" SortExpression="ContactName" UniqueName="ContactName" />
        <telerik:GridBoundColumn DataField="Source" HeaderText="Source" SortExpression="Source" UniqueName="Source" />
        <telerik:GridBoundColumn DataField="State" HeaderText="State" SortExpression="State" UniqueName="State" />
        <telerik:GridNumericColumn DataField="Zip" HeaderText="Zip" SortExpression="Zip" UniqueName="Zip" />
        <telerik:GridBoundColumn DataField="ContactStreetAddress" UniqueName="ContactStreetAddress" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactCity" UniqueName="ContactCity" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactState" UniqueName="ContactState" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactZip" UniqueName="ContactZip" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactPhone" UniqueName="ContactPhone" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactMobilePhone" UniqueName="ContactMobilePhone" Visible="false" />
        <telerik:GridBoundColumn DataField="ContactEmail" UniqueName="ContactEmail" Visible="false" />
        <telerik:GridBoundColumn DataField="Notes" UniqueName="Notes" Visible="false" />
        <telerik:GridBoundColumn DataField="EstimatedCloseDate" UniqueName="EstimatedCloseDate" Visible="false" />
        <telerik:GridBoundColumn DataField="MaturityValue" UniqueName="MaturityValue" Visible="false" />
        <telerik:GridDateTimeColumn DataField="CreatedOn" DataFormatString="{0:MM/dd/yy}" HeaderText="Creation Date" SortExpression="CreatedOn" UniqueName="CreationDate" />         
    </Columns>
    <EditFormSettings UserControlName="EditPanel.ascx" EditFormType="WebUserControl">
        <EditColumn UniqueName="EditCommandColumn1" />
    </EditFormSettings>
</MasterTableView>
<ClientSettings EnableRowHoverStyle="false" >
    <Selecting AllowRowSelect="True"  />
</ClientSettings>
</telerik:radgrid>


Thanks!

1 Answer, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 1
answered on 05 Sep 2011, 05:36 AM
Hello Justin,

I suppose you are using Simple Data Binding.Inorder to implement Advanced features like Sorting,Filtering etc make sure that you are binding the RadGrid with Advanced DataBinding using NeedDataSource event.
Advanced Data-binding (using NeedDataSource event)

Thanks,
Princy.
Tags
Grid
Asked by
Justin
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 1
Share this question
or