By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,247 Members | 1,273 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,247 IT Pros & Developers. It's quick & easy.

Sort Grid from Column Header and Drop Down???

P: n/a
I posted a message on the topic earlier and thought I had it solved
but in testing have found problems. I have a Templated GridView
control on a webpage bound to an ObjectDataSource. There are 3
columns that are "Sortable" That sorting works fine until I add the
dropdown with a "refresh" button into the mix. The only way that I
have found to sort the grid from the dropdown requires the following
code.

When I set the e.Arguments.SortExpression it causes the grid to get
sorted the problem is the Grid properties do not reflect this change.
So when you next click on the grid column to sort it has the wrong
information as to which column is sorted and what direction is
sorted. So the first click on the column header the results are
unpredicable. Is there a better way to do this?

Any help would be greatly appreciated.

Thanks

dbl

protected void btnRefresh_Click(object sender, EventArgs e)
{
sortColumn =
Convert.ToInt16(cboSortBy.SelectedValue.Substring( 0, 1));
sortExpression =
grdUpcoming.Columns[sortColumn].SortExpression;

if (cboSortBy.SelectedValue.EndsWith("A"))
{
sortDirection = "ASC";
}
else if (cboSortBy.SelectedValue.EndsWith("D"))
{
sortDirection = "DESC";
}
else
{
throw new Exception("Invalid sort by Value");
}
grdUpcoming.DataBind();
}

protected void ObjectDataSource1_Selecting(object sender,
ObjectDataSourceSelectingEventArgs e)
{
if (!e.ExecutingSelectCount)
{
if (sortExpression != "")
{
e.Arguments.SortExpression = sortExpression + " "
+ sortDirection;
}
else
{
cboSortBy.SelectedValue =
GetSortColumnIndex().ToString() +
grdUpcoming.SortDirection.ToString().Substring(0, 1).ToUpper();

}
}
}

Apr 11 '07 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.