GimboMedlem sedan dec. 20001 626 inlägg Tja,
har en dataGrid som stör mig riktigt duktigt, har gjort så att man vläjer hur många poster som skall visas på sidan och därefter så page'ar den beroende på d, men när jag nu vill sortera posterna efter namn så gör den det, men när jag sedan klickar på sidan låt oss säga 4 så pajjar sorteringen, den verkar inte följa med till resterande sidor, ngn som har ngn som helst aning om vad problemet kan vara? skulle det funka om jag ändra en datagriden till en gridview?
freguzMedlem sedan feb. 2005280 inlägg Hur ser koden ut för Paging eventet? Du måste nog göra sort funktionen även där. Underlättar om man kan få se lite kod :bire
GimboMedlem sedan dec. 20001 626 inlägg dgr.AllowSorting = true;
dgr.AutoGenerateColumns = false;
dgr.SortCommand +=new DataGridSortCommandEventHandler(this.dgr_SortCommand);
private void dgr_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
try
{
string sColToSort = (string)ViewState["ColToSort"];
//get SortType from IssueList
string sortType = "";
if (viewDynamic)
{
SPListItemCollection issueListItems;
SPWeb web = site.OpenWeb(m_systemListLoc);
issueListItems = web.Lists[m_issueList].Items;
slIssueList = generalFunctions.GetColumnsForIssueList(issueListItems);
foreach (DictionaryEntry d in slIssueList)
{
IssueList issue = ((IssueList)d.Value);
if (issue.SortType != null)
{
if (e.SortExpression == issue.DefineId)
sortType = issue.SortType;
}
else
sortType = "Alphanumerical";
}
}
if (sortType == "OrderId" || sortType == "Numerical")
{
//Determine sortorder
string sOrder = "";
string ascDesc = "";
if (sColToSort != null)
{
if (sColToSort.IndexOf("ASC") > -1)
{
sOrder = e.SortExpression + "DESC";
ascDesc = "DESC";
}
else
{
sOrder = e.SortExpression + "ASC";
ascDesc = "ASC";
}
}
else
{
sOrder = e.SortExpression + "ASC";
ascDesc = "ASC";
}
//Save latest sortorder
ViewState["ColToSort"] = sOrder;
//Special sortalgoritm
dgr.DataSource = CommonFunc.SortOrderID.SortOnOrderid(sOrder, dv);
dgr.DataBind();
}
else
{
// Check which state of sortorder the current column is in.
if (sColToSort != null)
{
if (sColToSort.IndexOf("ASC") > -1)//state of sortorder is ASC
{
sColToSort = e.SortExpression + " DESC";
}
else if (sColToSort.IndexOf("DESC") > -1) //state of sortorder is DESC
sColToSort = e.SortExpression + " ASC";
else sColToSort = e.SortExpression + " DESC";
dv.Sort = sColToSort;
}
else
dv.Sort = e.SortExpression;
// Save latest ColToSort
ViewState["ColToSort"] = dv.Sort;
dgr.DataSource = dv;
dgr.DataBind();
}
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString());
}
}