惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
腾讯CDC
D
Docker
G
Google Developers Blog
D
DataBreaches.Net
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
The Cloudflare Blog
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
大猫的无限游戏
大猫的无限游戏
量子位
美团技术团队
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 萝卜青菜

.Net2.0在程序中编译代码 - 萝卜青菜 - 博客园 C#利用VB的My功能来显示文件拷贝、删除、移动进度 - 萝卜青菜 - 博客园 .net2.0提供的TextBox候选文字提示功能 .net2.0轻松判断NumLock、CapsLock、ScrollLock、Insert键的状态:) .net2.0轻松取得应用程序图标 利用System.Media来做声音提醒 .net2.0窗体关闭时自动保存窗体位置及大小 .net2.0中改变数组大小 将窗体或窗体上某控件保存为图片 让窗体关闭按钮无效新法 ClickOnce部分信任文件达到一定大小怎么办?(技巧) 页面根据不同Url显示不同Title以及不同的Mete 新增的Application.OpenForms属性 全屏显示一个图片文件 使用静态类来简化单件 新的两道面试题(简单) 求问模式达人,静态类可否代替单件? 使Div内内容可编辑:) 对象池及数据库连接对象池
GridView&DetailsView对XML文件增删改
萝卜青菜 · 2006-07-01 · via 博客园 - 萝卜青菜

呵呵,不是什么新东西:)最后代码下载。
XML文件:

<?xml version="1.0" standalone="yes"?>
<XmlDataSet>
  
<UserInfo>
    
<Id>1</Id>
    
<Name>赵AX</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>2</Id>
    
<Name>钱BB</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>3</Id>
    
<Name>孙CC</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>4</Id>
    
<Name>李DY</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>5</Id>
    
<Name>周EF</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>6</Id>
    
<Name>吴FF</Name>
  
</UserInfo>
  
<UserInfo>
    
<Id>7</Id>
    
<Name>郑GG</Name>
  
</UserInfo>
</XmlDataSet>

前台代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>无标题页</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="DeleteDataSet"
            InsertMethod
="InsertDataSet" SelectMethod="GetDataSet" TypeName="UserInfoTable"
            UpdateMethod
="UpdateDataSet">
            
<DeleteParameters>
                
<asp:Parameter Name="Id" Type="Int32" />
            
</DeleteParameters>
            
<UpdateParameters>
                
<asp:Parameter Name="Id" Type="Int32" />
                
<asp:Parameter Name="Name" Type="String" />
            
</UpdateParameters>
            
<InsertParameters>
                
<asp:Parameter Name="Name" Type="String" />
            
</InsertParameters>
        
</asp:ObjectDataSource>
        
&nbsp;</div>
        
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1">
            
<Columns>
                
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
            
</Columns>
        
</asp:GridView>
        
<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="ObjectDataSource1"
            Height
="81px" Width="125px" AllowPaging="True">
            
<Fields>
                
<asp:CommandField ShowInsertButton="True" />
            
</Fields>
        
</asp:DetailsView>
    
</form>
</body>
</html>

后台(UserInfoTable.cs)代码:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Globalization;/// <summary>
/// 操作XML文件
/// </summary>
public class UserInfoTable : IDisposable
{
    
/// <summary>
    
/// XML文件路径
    
/// </summary>
    private static string strXmlFile = "~/App_Data/UserInfo.xml";
    
/// <summary>
    
/// DataSet对象
    
/// </summary>
    private DataSet dataset = null;
    
/// <summary>
    
/// XML文件相对路径
    
/// </summary>
    private string strFilePath = null;/// <summary>
    
/// 构造函数
    
/// </summary>
    public UserInfoTable()
    {
        
// 实例化DataSet
        dataset = new DataSet();
        
// 不依赖于区域性
        dataset.Locale = CultureInfo.InvariantCulture;
        
// 取得XML文件虚拟路径
        strFilePath = HttpContext.Current.Server.MapPath(strXmlFile);
        
// 读取XML文件
        dataset.ReadXml(strFilePath);
    }
/// <summary>
    
/// 资源释放
    
/// </summary>
    public void Dispose()
    {
        
// 关闭DataSet
        dataset.Dispose();
        GC.SuppressFinalize(
this);
    }
/// <summary>
    
/// 检索数据
    
/// </summary>
    
/// <returns>DataSet对象</returns>
    public DataSet GetDataSet()
    {
        
// 返回DataSet对象
        return dataset;
    }
    
/// <summary>
    
/// 更新数据
    
/// </summary>
    
/// <param name="nID">Id</param>
    
/// <param name="strName">Name</param>
    
/// <returns>更新是否成功</returns>
    public void UpdateDataSet(int Id, string Name)
    {
        
try
        {
            
// 选择节点条件
            string strFilter = "Id=" + Id.ToString(CultureInfo.InvariantCulture);
            
// 记录取得的行的集合
            DataRow[] rows = dataset.Tables[0].Select(strFilter);
            
// 如果取到记录
            if (rows.Length > 0)
            {
                
// 更新数据
                rows[0]["Name"= Name;
                
// 保存数据
                Save();
            }
        }
        
catch (Exception)
        {
        }
    }
/// <summary>
    
/// 删除一条数据
    
/// </summary>
    
/// <param name="nID">ID</param>
    
/// <returns>是否删除成功</returns>
    public void DeleteDataSet(int Id)
    {
try
        {
            
// 选择节点条件
            string strFilter = "Id=" + Id.ToString(CultureInfo.InvariantCulture);
            
// 记录取得的行的集合
            DataRow[] rows = dataset.Tables[0].Select(strFilter);
            
// 如果取到记录
            if (rows.Length > 0)
            {
                
// 删除数据
                rows[0].Delete();
                
// 保存数据
                Save();
            }
        }
        
catch (Exception)
        {
        }
    }
/// <summary>
    
/// 插入数据
    
/// </summary>
    
/// <param name="strName">姓名</param>
    
/// <returns>是否插入成功</returns>
    public void InsertDataSet(int Id, string Name)
    {
        DataRow row 
= dataset.Tables[0].NewRow();
        row[
"Id"= Id;
        row[
"Name"= Name;
        dataset.Tables[
0].Rows.Add(row);
        Save();
    }
/// <summary>
    
/// 保存XML文档
    
/// </summary>
    private void Save()
    {
        
// 写入XML文档
        dataset.WriteXml(strFilePath, XmlWriteMode.IgnoreSchema);
    }
}

代码下载:/Files/luoboqingcai/GridViewXML.rar