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:
Grid:
Thanks!
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!