- 追加された行はこの色です。
- 削除された行はこの色です。
閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)
XMLデータをLINQ to XMLの機能を用い、ソート(Order By句)し、結果をGridViewに表示した。
XMLデータをLINQ to XMLの機能を用い、データ追加し、結果をGridViewに表示した。
09/09/06
↓このページを参考にした。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080604/306335/?ST=develop&P=1
↓このページを参考にした。(リスト3)
http://itpro.nikkeibp.co.jp/article/COLUMN/20080406/298105/?ST=develop
開発環境:VWD2008
サーバ:Windows Server2003 + .NET Framework3.5
【機能】「価格」の降順にソートし、結果をGridViewに表示する。
【機能】XMLデータの作成、データ追加を行い、結果をGridViewに表示する。
※XMLデータは↓のリスト1の udons_sampleData.xml を App_Dataフォルダ内に置く。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080312/296047/?ST=develop
※XMLデータ udons_makeXml.xml が App_Dataフォルダ内に作成される。
【稼働画面】
#ref(sort.JPG);
#ref(add.JPG);
【AddLinqXml.aspx】[3.5]
<%@ Page Language="VB" %>
<!-- System.IO名前空間を追加(File.Exists()メソッド使用の為) -->
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
'xmlデータが既に存在する場合
If File.Exists(Server.MapPath("~/App_Data/udons_makeXml.xml")) = True Then
Dim xmldoc = XDocument.Load(Server.MapPath("~/App_Data/udons_makeXml.xml"))
'結果のGridViewへの表示
Dim list = From c In xmldoc.Descendants("商品") _
Select _
品名 = c.Element("品名").Value, _
価格 = c.Element("価格").Value
GridView1.DataSource = list
GridView1.DataBind()
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If File.Exists(Server.MapPath("~/App_Data/udons_makeXml.xml")) = False Then
'xmlデータが存在しない場合
Dim udonElem As XDocument = New XDocument(New XDeclaration("1.0", "utf-8", "yes"), _
New XElement("商品情報", New XElement("商品", _
New XElement("品名", TextBox1.Text), _
New XElement("価格", TextBox2.Text))))
udonElem.Save(Server.MapPath("~/App_Data/udons_makeXml.xml"))
'結果のGridViewへの表示
Dim list = From c In udonElem.Descendants("商品") _
Select _
品名 = c.Element("品名").Value, _
価格 = c.Element("価格").Value
GridView1.DataSource = list
GridView1.DataBind()
Else
'xmlデータが存在する場合
Dim doc As XElement = XElement.Load(Server.MapPath("~/App_Data/udons_makeXml.xml"))
Dim udon_AddData As XElement = New XElement("商品", _
New XElement("品名", TextBox1.Text), _
New XElement("価格", TextBox2.Text))
'生成したXMLをルート要素以下に追加する
doc.Add(udon_AddData)
doc.Save(Server.MapPath("~/App_Data/udons_makeXml.xml"))
'結果のGridViewへの表示
Dim list = From c In doc.Descendants("商品") _
Select _
品名 = c.Element("品名").Value, _
価格 = c.Element("価格").Value
GridView1.DataSource = list
GridView1.DataBind()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>データを追加しXMLツリーを生成(LINQ to XML)</title>
</head>
<body>
<form id="form1" runat="server">
<div>
データを追加しXMLツリーを生成(LINQ to XML) 09/09/06<br />
うどん品名、うどん単価を入力し、OKをクリックするとXMLデータが追加される。<br />
<br />
うどん品名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
うどん単価:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Height="21px" Text="OK" Width="73px"
onclick="Button1_Click" />
<br />
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
【参考にしたページ】
1.ソート:ソートして件数を表示 08/06/10
http://itpro.nikkeibp.co.jp/article/COLUMN/20080604/306335/?ST=develop&P=1
1.生成処理:1からのXMLツリーの生成 08/04/08
http://itpro.nikkeibp.co.jp/article/COLUMN/20080406/298105/?ST=develop
#comment_nospam
#vote(参考になった[0],ふつう[0],参考にならなかった[0])