最初に xmldatasource を使用してみましたが、ソートできないことがわかりました。試してみると、「System.NotSupportedException: データ ソースは並べ替えをサポートしていません」というエラーが表示されます。
GridView1.AllowSorting = true;
DataSet carsDataSet;
string filePath = Server.MapPath("App_Data/cars.xml");
carsDataSet = new DataSet();
//Read the contents of the XML file into the DataSet
carsDataSet.ReadXml(filePath);
GridView1.DataSource = carsDataSet.Tables[0].DefaultView;
GridView1.DataBind();
これにより、次の例外が発生します。
私のxmlは次のようなものです:
<Cars>
<car>
<id>11</id>
<make>Audi</make>
<model>A4</model>
<price>39000</price>
</car>
</Cars>
では、この問題を回避する最善の方法は何ですか? または、並べ替えイベントを何とか処理できますか? それとも、xml データを LINQ などにロードする方が簡単でしょうか?