GridView绑定xml,增、删、改、取消
1、XML数据源的文件名为Tables.xml,结构如下:
<Tables>
<SOP>
<PitchY>0.20 </PitchY>
<T>0.30</T>
<B>0.40 </B>
<WM>0.40 </WM>
<WM1>1 </WM1>
<WP>0.50 </WP>
<WP1>0 </WP1>
<R>0.06</R>
<LM>L-1 </LM>
<WCM>0.22</WCM>
<WCP>0.37 </WCP>
</SOP>
<SOP>
<PitchY>3.00 </PitchY>
<T>0.99</T>
<B>0.87 </B>
<WM>0.33 </WM>
<WM1>1 </WM1>
<WP>1.00 </WP>
<WP1>1 </WP1>
<R>0.05 </R>
<LM>L </LM>
<WCM>0.77 </WCM>
<WCP>0.80 </WCP>
</SOP>
<DCHIP>
<BodySize>3000 </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>6785</BodySize>
<L>1.50 </L>
<W>5.30 </W>
<D>5.30</D>
<T>0.99 </T>
<S>0.15 </S>
<R>0.05 </R>
<Wm>9.20 </Wm>
<Lm>1.30 </Lm>
</DCHIP>
</Tables>
2、具体代码
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> 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;
//找到对应与DataSet行
dr =
ds.Tables[ddlShapeType.SelectedValue].Rows[row.DataItemIndex];
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绑定xml
GridView操作Xml数据源GridView操作Xml数据源GridView操作Xml数据源GridView操作Xml数据源
实例199 GridView绑定数据为空时的界面设计 316 实例200 GridView强制换行显示论坛帖子的 详细信息 317 实例201 查看GridView当前行绑定的商品 详细信息 319 实例202 GridView复选框绑定列设置商品 是否上架 320 ...
ASP.NET对具有 DataBinding 事件的对象(如GridView、DataList、Repeater控件)提供数据绑定表达式支持。 Eval()方法用于单向绑定,一般用于显示数据,被绑定的数据不能被更新; Bind()方法用于双向绑定,支持
把数据库中的表导出为xml文件。 xml文件绑定到gridview上显示
2、XML+XSL,展现和修改用两个XSL文件来做,Ajax修改、保存XML。3、GridView控件。 经过细致考虑,首先第三... 1、实现选择框(通过Ajax读取数据库,绑定数据)的绑定时出现错误,最终发现是在读取XML时使用了异步方式
通过注解绑定模型方法和行布局视图,您将完成ListView和GridView。 无需设置适配器。 EasyCollectionView库为您提供服务:) ##安装将存储库添加到项目的build.gradle repositories { jcenter() maven { url '...
0414 如何将DropDownList控件绑定到GridView控件中 231 10.4 开发Web页的常用功能 231 0415 使用QueryString变量在页面之间传值 231 0416 页面定时刷新如何实现 232 0417 显示只有数字的验证码图片 232 ...
ASP.NET 2.0动态网站开发基础教程(C#) 第07章 ASP.NET数据库高级操作 数据绑定 GridView(共19页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第08章 导航与用户控件 母版页 统一站点主题(共10页).ppt ASP.NET...
18.使用xml作为数据源的方法(内联,外联,数据库读取)(treeview,listbox,gridview,repeater) 19.GridView中的方法使用(格式,DataFormatString),设置行列属性 当满足条件后,隐藏某些ImageButton 20.GridView...
SQL数据源控件、XML数据源控件与数据库的绑定和管理 GridView、DetailsView等数据展示控件的应用技巧、常见问题 文件和文件夹的管理 数据缓存的方式和技巧 ASP.NET应用程序的身份验证:Windows、Forms等 Web Service...
◎SQL数据源控件、XML数据源控件与数据库的绑定和管理 ◎GridView、DetailsView等数据展示控件的应用技巧、常见问题 ◎文件和文件夹的管理 ◎数据缓存的方式和技巧 ◎ASP.NET应用程序的身份验证:Windows、Forms等 ...
9.6 GridView控件的常用属性、方法和数据绑定技术 9.7 DetailsView控件的的常用属性、方法和数据绑定技术 9.8 FormView控件的模板使用方法 9.9 ListView控件的使用 10.1 ASP.NET2.0安全配置 10.2 身份验证 10.3 成员...
ASP.NET 2.0动态网站开发基础教程(C#) 第07章 ASP.NET数据库高级操作 数据绑定 GridView(共19页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第08章 导航与用户控件 母版页 统一站点主题(共10页).ppt ASP.NET...
4.3.1 在XML文件中保存广告 141 4.3.2 在数据库表中存储广告 144 4.3.3 跟踪显示和转到 145 4.4 显示不同的页面视图 149 4.4.1 显示选项卡式页面视图 149 4.4.2 显示多部分表单 152 4.5 显示向导 153 4.6 小结 157 ...
9.1.2 使用GridView控件的绑定列绑定数据 9.1.3 使用GridView控件的模板列绑定数据 9.1.4 使用GridView控件编辑并删除数据 9.1.5 使用GridView控件分页显示数据 9.1.6 对GridView控件中的数据进行排序 9.2 ...
通过使用 GridView控件,您可以显示、编辑、删除、排序和翻阅多种不同的数据源(包括数据库、XML 文件和公开数据的业务对象)中的表格数据。 显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在...
14.8.6 绑定到来自其他源的XML内容 14.8.7 通过XmlDataSource更新XML 14.9 XML和ADO.NET数据集 14.9.1 把DataSet转换为XML 14.9.2 把DataSet作为XML访问 14.10 总结 第三部分 构建ASP.NET网站 第15章...