Morpheusweb.it - Risorse per webmaster: script, ASP.NET, C#, Visual Basic .Net, tutorial, asp, javascript, css, php, html, java, ADO, VBScript, forms, frames, Active Server Pages, Dynamic HTML, database, gratis per webmaster e webdesigner

XML DataGrid - << C# VERSION >>


Manage an XML file with a DataGrid


<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Data"%>
<%@ Page Language="vb" AutoEventWireup="false" %>
<HTML>
<script runat="server" language="vb">

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  If (Not IsPostBack) Then
    mygrid.DataSource = CreateDataSource()
    mygrid.DataBind()
  End If
End Sub

Private Function CreateDataSource() As DataSet
  Dim mydata As XmlDataDocument = New XmlDataDocument
  mydata.DataSet.ReadXml(Server.MapPath("magazzino.xml"))
  Return mydata.DataSet
End Function

Public Sub doCancel(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
  mygrid.EditItemIndex = -1
  mygrid.DataSource = CreateDataSource()
  mygrid.DataBind()
End Sub

Public Sub doEdit(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
  mygrid.EditItemIndex = e.Item.ItemIndex
  mygrid.DataSource = CreateDataSource()
  mygrid.DataBind()
End Sub

Public Sub doUpdate(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
  Dim nome As String = CType(e.Item.Cells(0).Controls(1), TextBox).Text
  Dim quantita As String = CType(e.Item.Cells(1).Controls(1), TextBox).Text
  mygrid.EditItemIndex = -1
  Dim ds As DataSet = CreateDataSource()
  Dim row As DataRow = ds.Tables(0).Rows(e.Item.ItemIndex)
  row("nome") = nome
  row("quantita") = quantita
  ds.WriteXml(Server.MapPath("magazzino.xml"))
  mygrid.DataSource = CreateDataSource()
  mygrid.DataBind()
End Sub

Public Sub doDelete(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
  mygrid.EditItemIndex = -1
  Dim ds As DataSet = CreateDataSource()
  Dim row As DataRow = ds.Tables(0).Rows(e.Item.ItemIndex)
  row.Delete()
  ds.WriteXml(Server.MapPath("magazzino.xml"))
  mygrid.DataSource = CreateDataSource()
  mygrid.DataBind()
End Sub

</script>
<body>
<form id="Form1" runat="server">
<asp:datagrid id="mygrid" runat="server" OnDeleteCommand="doDelete" OnUpdateCommand="doUpdate"
OnCancelCommand="doCancel" OnEditCommand="doEdit" width="450" AutoGenerateColumns="false">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<b>Nome </b>
</HeaderTemplate>
<ItemTemplate>
<asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "nome") %>' runat="server" ID="Label1"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="nome" textMode="MultiLine" Columns="35" Rows="8" Text='<%# DataBinder.Eval(Container.DataItem, "nome") %>' runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>
<b>Quantita </b>
</HeaderTemplate>
<ItemTemplate>
<asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "quantita") %>' runat="server" ID="Label2"/>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="quantita" textMode="MultiLine" Columns="35" Rows="8" Text='<%# DataBinder.Eval(Container.DataItem, "quantita") %>' runat="server"/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:EditCommandColumn ButtonType="LinkButton" CancelText="Cancel" EditText="Edit" UpdateText="Update" />
<asp:ButtonColumn Text="Delete" CommandName="Delete"></asp:ButtonColumn>
</Columns>
</asp:datagrid></form>
</body>
</HTML>



Download Code...


Print Page


 








Page top

risorse per webmaster