Ich habe den folgenden Code, der nicht zu funktionieren scheint. In der Page_Load-Funktion befülle ich das DataSet und zeige die Ergebnisse in einer Rasteransicht an.RowFilter auf einer DataTable in einer Rasteransicht
newsCommand = new SqlCommand("SQL code here", dbConnection);
newsDataSet = new DataSet();
newsDataAdapter = new SqlDataAdapter(newsCommand);
newsDataAdapter.SelectCommand = newsCommand;
newsDataAdapter.Fill(newsDataSet, "Bulletins");
if (!Page.IsPostBack)
{
GridViewMain.DataSource = newsDataSet;
GridViewMain.DataBind();
}
Ich habe einige Verbindungen, die diese Funktion aufrufen, um die Daten zu filtern (yearID wird als Parameter übergeben wird):
DataTable newsTable = new DataTable();
newsTable = newsDataSet.Tables[0];
DataView dvData = new DataView(newsTable);
dvData.RowFilter = "Year > '" + yearID + "'";
GridViewMain.DataSource = dvData;
GridViewMain.DataBind();
Doch der Grid zeigt die Daten, die er orignally geladen, und nicht die gefilterten Daten . Das einzige, was mir einfällt, ist, dass ich die DataTable nicht in der Page_Load-Funktion verwende. Was fehlt mir noch?
Danke,
Adrian
'DataTable newsTable = newsDataSet.Tables [0]', ** bitte **. – SLaks
Was ist 'yearID'? – SLaks
yearID ist ein Parameter, der als Jahreswert zum Filtern von Daten gestartet wurde, aber ich habe ihn zu einem vollen Datum geändert. Ich habe gerade den Code in der Funktion geändert: newsDataSet.Tables [0] .DefaultView.RowFilter = "NewsDate2> '01/01/2010 '"; GridViewMain.DataSource = newsDataSet.Tables [0] .DefaultView; GridViewMain.DataBind(); aber es tut immer noch das gleiche (nicht die Daten filtern). –