Paging og Sorting i ASP.NET C#
Hejsa,Jeg er i starten af min uddannelse som Datatekniker blevet kastet ud i en opgave, hvor jeg sidder og er ved at lave en webend application, hvor jeg trækker data ud fra en database via nogle søge funktioner, som så vises i et GridView.
Alt virker stort set somd et skal, der er bare et lille aber-dabei. -- Jeg kan ikke få paging og sorting til at virke!
Jeg har nu googlet i ret lang tid nu, men har ikke været i stand til at finde noget jeg kan bruge, rodet i bøger etc.
Værende helt ny med programmering , håber jeg nu på en hjælpende hånd her inde ;)
Når jeg trækker data ud fra databasen, gør jeg det via et SQLQuery - uden nogen form for StoredProcedures etc. Og sætter dem ind i nogle Databound kolonner...
Selvfølgelig er der html og asp kode også, så jeg kan for god ordens skyld nævne at, paging, sorting og enablesorting andpagingcallbacks = true
----------------------------------------------------------------- protected void ButtonSearch_Click(object sender, EventArgs e)
{
string SQLQuery = "SELECT A.CaseNO,";
SQLQuery += "C.StatusName,A.JobTitle,B.ContactName,A.AddTS,";
SQLQuery += "A.JobDescription, ";
SQLQuery += "E.BasicTypeName + ' -> ' + D.CallTypeName AS CaseType ";
SQLQuery += "FROM vSupport_CallLogHead A";
SQLQuery += " LEFT OUTER JOIN vCustomerContact B ON A.ContactID = B.ContactID";
SQLQuery += " LEFT OUTER JOIN vSupport_Status C ON A.StatusID = C.StatusID";
SQLQuery += " INNER JOIN vSupport_CallType D ON A.CallTypeID = D.CallTypeID";
SQLQuery += " INNER JOIN vSupport_BasicType E ON E.BasicTypeID = D.BasicTypeID";
SQLQuery += " WHERE 0=0 {0} ";
SQLQuery += "ORDER BY FinishDate,CaseNO "; // ASC,A.Priority ASC,A.AddTS ASC";
string WhereClause = "AND (";
if (DropDownListSearchType.Items[DropDownListSearchType.SelectedIndex].Value == "All") //Search all fields.
WhereClause += " A.CaseNO like '%" + TextBoxSearchCriteria.Text + "%' " +
"OR A.JobTitle like '%" + TextBoxSearchCriteria.Text + "%' " +
"OR A.JobDescription like '%" + TextBoxSearchCriteria.Text + "%' ";
if (DropDownListSearchType.Items[DropDownListSearchType.SelectedIndex].Value == "SagsNr") //Search CaseNO
WhereClause += " A.CaseNO like '" + TextBoxSearchCriteria.Text + "'";
if (DropDownListSearchType.Items[DropDownListSearchType.SelectedIndex].Value == "Titel") //Search Case Title
WhereClause += " A.JobTitle like '%" + TextBoxSearchCriteria.Text + "%'";
if (DropDownListSearchType.Items[DropDownListSearchType.SelectedIndex].Value == "Sagsbeskrivelse") //Search Case Description.
WhereClause += " A.JobDescription like '%" + TextBoxSearchCriteria.Text + "%'";
WhereClause += ") ";
if ("EEC63AB8-4E8B-4387-9EB2-7944033231EC" != DropDownListCaseType.SelectedValue.ToUpper()) //Search using CallTypeID as credentials
WhereClause += " AND A.CallTypeID = '" + DropDownListCaseType.SelectedValue + "'";
if ("D6BFA3BC-346C-4ECB-A1A4-C44D33C9B4E5" != DropDownListStatus.SelectedValue.ToUpper()) //Search using StatusID as credentials.
WhereClause += " AND A.StatusID = '" + DropDownListStatus.SelectedValue + "'";
// WhereClause += " AND A.StatusID = '" + DropDownListStatus.SelectedValue + "'";
if (CheckBoxViewClosed.Checked == true)
if (CheckBoxViewClosed.Checked == true)
SQLQuery = String.Format(SQLQuery, WhereClause);
SqlDataAdapter sqldata = new SqlDataAdapter(SQLQuery, "Data Source=sly003;Initial Catalog=Edora_Template;Persist Security Info=True;User ID=sa;Password=CENSUR");
DS_MainGrid.Clear();
try
{
sqldata.Fill(DS_MainGrid, "GridViewSQLData");
GridViewSQLData.AutoGenerateColumns = false;
GridViewSQLData.AllowPaging = true;
GridViewSQLData.AllowSorting = true;
GridViewSQLData.DataSource = DS_MainGrid.Tables["GridViewSQLData"];
GridViewSQLData.DataMember = "GridViewSQLData";
GridViewSQLData.DataBind();
Response.Write(DS_MainGrid.Tables["GridViewSQLData"].Rows.Count.ToString()); // Antal poster
}
catch(Exception ee)
{
Response.Write(ee.Message.ToString());
}
}
}
-----------------------------------------------------------------
