TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
aylin_sk
NA
87
0
sorting
Dec 20 2004 9:27 AM
Hi, In my datagrid I want my headers to sort the column when i click the hyperlink of the headers..But i cant..I put AllowSorting="True" and gave SortExpressions to my headers in my .aspx page..What is the problem?? This is my .aspx.cs page: private void Page_Load(object sender, System.EventArgs e) { if (Page.IsPostBack) return; this.ViewState.Add("_sortExpression", "PATIENT_NAME"); } private void search_Click(object sender, System.EventArgs e) { if (myDataGrid.CurrentPageIndex > 0) myDataGrid.CurrentPageIndex = 0; bindMyDataGrid(textSearchString.Text); } private void bindMyDataGrid(string searchString) { coreLpms.patients myPatients = new coreLpms.patients(); DataSet myDataSet = myPatients.getPatients(searchString); myDataGrid.DataSource = myDataSet; myDataGrid.DataBind(); labelRecordCount.Text = myDataSet.Tables[0].Rows.Count.ToString(); labelCurrIndex.Text = Convert.ToString((myDataGrid.CurrentPageIndex + 1)); labelPageCount.Text = myDataGrid.PageCount.ToString(); if (myDataSet.Tables[0].Rows.Count > 0) { firstPage.Enabled = true; previousPage.Enabled = true; nextPage.Enabled = true; lastPage.Enabled = true; } else { firstPage.Enabled = false; previousPage.Enabled = false; nextPage.Enabled = false; lastPage.Enabled = false; } } private void bindMyDataGrid(string searchString, string sortExpression) { coreLpms.patients myPatients = new coreLpms.patients(); DataView myDataView = new DataView(); DataSet myDataSet = myPatients.getPatients(searchString); myDataView = myDataSet.Tables[0].DefaultView; myDataView.Sort = sortExpression; myDataGrid.DataSource = myDataView; myDataGrid.DataBind(); labelCurrIndex.Text = Convert.ToString((myDataGrid.CurrentPageIndex + 1)); labelRecordCount.Text = myDataSet.Tables[0].Rows.Count.ToString(); } public void pagerButtonClick(object sender, System.EventArgs e) { switch(((LinkButton)sender).CommandArgument) { case "first": myDataGrid.CurrentPageIndex = 0; break; case "previous": if (myDataGrid.CurrentPageIndex > 0) myDataGrid.CurrentPageIndex -= 1; break; case "next": if (myDataGrid.CurrentPageIndex < (myDataGrid.PageCount - 1)) myDataGrid.CurrentPageIndex += 1; break; case "last": myDataGrid.CurrentPageIndex = myDataGrid.PageCount - 1; break; } bindMyDataGrid(textSearchString.Text, this.ViewState["_sortExpression"].ToString()); } private void myDataGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { this.ViewState.Add("_sortExpression", e.SortExpression.ToString()); bindMyDataGrid(textSearchString.Text, e.SortExpression.ToString()); }
Reply
Answers (
0
)
Alternate to QueryString
creating objects "on the fly"while an app is running