1、XML数据源的文件名为Table.xml,结构如下:
<Tables>
<SOP>
<PitchY>0.40 </PitchY>
<T>0.40 </T>
<B>0.40 </B>
<WM>0.20 </WM>
<WM1>0 </WM1>
<WP>0.40 </WP>
<WP1>0 </WP1>
<R>0.05 </R>
<LM>L-0.2 </LM>
<WCM>0.18 </WCM>
<WCP>0.37 </WCP>
</SOP>
<SOP>
<PitchY>2.54 </PitchY>
<T>0.70 </T>
<B>0.80 </B>
<WM>0.60 </WM>
<WM1>1 </WM1>
<WP>0.30 </WP>
<WP1>1 </WP1>
<R>0.05 </R>
<LM>L </LM>
<WCM>0.50 </WCM>
<WCP>0.80 </WCP>
</SOP>
<DCHIP>
<BodySize>1005 </BodySize>
<L>0.50 </L>
<W>0.60 </W>
<D>0.40 </D>
<T>0.20 </T>
<S>0.05 </S>
<R>0.05 </R>
<Wm>0.53 </Wm>
<Lm>0.45 </Lm>
</DCHIP>
<DCHIP>
<BodySize>1608 </BodySize>
<L>0.70 </L>
<W>0.90 </W>
<D>0.80 </D>
<T>0.30 </T>
<S>0.05 </S>
<R>0.05 </R>
<Wm>0.85 </Wm>
<Lm>0.60 </Lm>
</DCHIP>
<DCHIP>
<BodySize>5750 </BodySize>
<L>1.50 </L>
<W>5.30 </W>
<D>4.10 </D>
<T>0.70 </T>
<S>0.15 </S>
<R>0.05 </R>
<Wm>5.20 </Wm>
<Lm>1.30 </Lm>
</DCHIP>
</Tables>
2、具体代码
string xmlPath = "Calculation/Tables.xml";
//恢复GridView正常状态
private void ResetParameter()
{
gvParameter.EditIndex = -1;
LoadParameter(ddlShapeType.SelectedValue);
}
//加载XML并显示在GridView里
private void LoadParameter(string shapeType)
{
DataSet dsRule = new DataSet();
dsRule.ReadXml(xmlPath);
DataTable dtRule = dsRule.Tables[shapeType];
gvParameter.DataSource = dtRule;
gvParameter.DataBind();
}
//新增事件
protected void lnbAddNew_Click(object sender, EventArgs e)
{
if (ddlShapeType.SelectedValue.Length == 0)
{
lblMsg.Visible = true;
lblMsg.Text = "Warning: Please select shape type !";
return;
}
else if (gvParameter.Rows.Count == 0)
{
lblMsg.Visible = true;
lblMsg.Text = "Warning: [" + ddlShapeType.SelectedValue + "] table not exists !";
return;
}
DataSet ds = new DataSet();
ds.ReadXml(xmlPath);
DataTable dt = ds.Tables[ddlShapeType.SelectedValue];
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
ds.WriteXml(xmlPath); //将修改写入Table.xml
ResetParameter();
}
//编辑事件
protected void gvParameter_RowEditing(object sender, GridViewEditEventArgs e)
{
gvParameter.EditIndex = e.NewEditIndex;
LoadParameter(ddlShapeType.SelectedValue);
GridViewRow row = gvParameter.Rows[e.NewEditIndex];
//前面2列是Delete、Edit,故从第三列开始
for (int i = 2; i < row.Cells.Count; i++)
{
TextBox tb = (TextBox)row.Cells[i].Controls[0];
tb.Width = 50;
}
}
//更新事件
protected void gvParameter_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = gvParameter.Rows[e.RowIndex]; //获得当前行
int numCell = row.Cells.Count; //共几列单元格(包含Edit和Delete 2列)
int currentRow = row.DataItemIndex; //对应DataSet对应的行索引
DataSet ds = new DataSet();
ds.ReadXml(xmlPath);
DataRow dr;
dr = ds.Tables[ddlShapeType.SelectedValue].Rows[row.DataItemIndex]; //找到对应与DataSet行
string[] str = null; //此数组定义表的列名
switch (ddlShapeType.SelectedValue)
{
case "SOP":
{
str =new string[]{ "PitchY", "T", "B", "WM", "WM1", "WP", "WP1", "R", "LM", "WCM", "WCP" };
break;
}
case "DCHIP":
{
str = new string[] { "BodySize", "L", "W", "D", "T", "S", "R", "Wm", "Lm" };
break;
}
}
int j = 0;
//从第3列开始,前面有2列是Edit和Delete
for (int i = 2; i < numCell; i++)
{
string cText = ((TextBox)row.Cells[i].Controls[0]).Text;
dr[str[j]] = cText;
j++;
}
ds.WriteXml(xmlPath); //将修改写入Table.xml
ResetParameter();
}
//取消修改
protected void gvParameter_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
ResetParameter();
}
//删除事件
protected void gvParameter_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridViewRow row = gvParameter.Rows[e.RowIndex];
int curr = row.RowIndex;
DataSet ds = new DataSet();
ds.ReadXml(xmlPath);
DataRow dr = ds.Tables[ddlShapeType.SelectedValue].Rows[curr];
dr.Delete();
ds.WriteXml(xmlPath);
ResetParameter();
}
分享到:
相关推荐
在.NET框架中,操作XML数据并将其绑定到用户界面组件如GridView是一种常见的需求,尤其是在处理配置文件、数据交换或Web应用程序的数据展示时。本篇将深入解析如何在.NET中使用XML文档,以及如何将XML数据绑定到...
以上就是使用ASP.NET GridView进行增删改查的基本操作。在实际应用中,还可以通过模板字段自定义列显示,使用AJAX实现异步操作,以及添加验证控件来确保数据质量。通过熟练掌握这些技巧,开发者可以构建出高效且用户...
为了实现XML数据到GridView的绑定,我们需要编写相应的C#代码。以下是一个简单的示例代码,用于从指定路径读取XML文件,并将其数据显示在GridView上: ```csharp private void LoadParameter(string shapeType) { ...
在.NET框架中,GridView控件是ASP.NET Web Forms中用于数据展示的重要组件,它能够方便地实现数据的增删改查操作。对于初学者来说,理解并掌握GridView的基本用法和扩展功能是至关重要的。本篇文章将深入探讨.NET ...
### XML 数据的增删改查(含分页显示) #### 概述 本文将详细介绍如何使用 XML 文件进行数据的增加、删除、修改以及查询,并且实现了分页显示的功能。这非常适合初学者理解 XML 的基本操作及其在实际项目中的应用...
接下来,我们需要将XML数据绑定到GridView。可以使用XmlDataSource控件作为中间桥梁,将XML数据源连接到GridView。以下是如何设置的步骤: 1. 在页面上添加XmlDataSource控件,并配置XML数据源。例如,可以设置`...
GridView控件首先需要与数据源绑定。这通常通过在后台代码中设置`DataSourceID`属性或者在前台代码中调用`DataSource`属性和`DataBind()`方法来实现。例如: ```csharp GridView1.DataSource = myDataTable; ...
### 使用Gridview绑定数据库中的图片 #### 背景与目的 在Web应用程序开发中,尤其是在ASP.NET项目中,经常需要处理图像数据。这包括从数据库检索图像并将其展示在前端界面上。然而,默认情况下,ASP.NET Gridview...
在GridView中实现增删改查,首先需要将数据源与GridView进行绑定。常见的数据源包括数据库(如SQL Server、SQLite等)、XML文件、ArrayList或DataTable等。数据绑定可以通过代码实现,也可以通过设计视图中的“数据...
在“gridview在aspx中的不分层的增删改查”这一主题中,我们将深入探讨如何在ASPX页面上实现一个简单的、不涉及多层结构的GridView,包括添加、删除、修改和查询功能。下面我们将详细讲解相关的知识点。 1. ...
GridView是ASP.NET中一个强大的数据展示控件,用于在网页上以表格的形式显示数据,并提供了基本的数据操作功能,如增、删、查、改。在这个例子中,我们将深入探讨GridView如何实现这些功能。 首先,GridView的基本...
在这个“GridView绑定图片”的主题中,我们将深入探讨如何将图片数据有效地绑定到GridView中,以创建美观且功能丰富的用户界面。 首先,我们需要了解GridView的基本使用。GridView继承自AbsListView,它会根据提供...
本文将深入探讨如何使用C#语言与ASP.NET配合,通过GridView实现数据的绑定、增加、查询、删除和修改功能。 首先,数据绑定是GridView的核心功能。在ASP.NET中,可以使用SQLDataSource或ObjectDataSource来绑定数据...
SharePoint GridView绑定是一种在SharePoint环境中使用ASP.NET GridView控件展示数据的方法。GridView是ASP.NET Web Forms中的一个强大控件,它可以轻松地显示和操作表格数据。在SharePoint中,我们通常利用它来呈现...
这个项目示例主要讲解了如何不涉及具体业务逻辑地实现数据的增删改查(CRUD)操作,并将数据展示在Gridview控件中,同时应用了三层架构的设计模式,这有助于提升代码的可维护性和可扩展性。下面我们将详细探讨这些...
Puma.XML和Puma.XMLGRID这两个文件可能分别代表示例的XML数据文件和与XML数据绑定的GridView的自定义控件或配置文件。Puma.XML文件可能包含了一个演示用的XML数据结构,而Puma.XMLGRID可能包含了对GridView控件的...
然而,它也能通过XML数据源进行灵活的数据绑定,实现更为复杂的功能。在给定的文件中,我们看到了几个关键的组件,它们是实现这一目标的基础。 首先,Puma.XmlGrid.dll、Puma.Xml.dll和Puma.Files.Converters.dll是...
在本主题中,我们将深入探讨"Gridview数据绑定"的概念及其在C#中的实现方式。 1. GridView概述: GridView是一种服务器端控件,它能够自动将数据源中的数据渲染成一个可编辑或只读的表格。它提供了丰富的功能,如...