知识大全 使用c#(datagrid控件)编辑xml文件
Posted 文件
篇首语:丈夫志四海,万里犹比邻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用c#(datagrid控件)编辑xml文件相关的知识,希望对你有一定的参考价值。
对xml文件的记录进行删除 修改 或增加新记录 利用了datagrid控件的sortmand事件对xml里的记录进行排序
email: <%@page language= c# Trace= true %> <%@import namespace= System Data %> <%@import namespace= System IO %> <script language= c# runat= server > string xmlfile= books xml xpath; void page_load(Object obj EventArgs e) xpath=Server MapPath(xmlfile); if(!Page IsPostBack) Dataload( isbn ); void Dataload(string psort) DataSet ds=new DataSet(); FileStream fs=new FileStream(xpath FileMode Open); ds ReadXml(fs); if(ds Tables Count== ) Response Write( xml文件内无记录!!!! ); fs Close(); Response End(); Trace Warn( 表记录数 Convert ToString(ds Tables[ ] Rows Count)); DataRow dr=ds Tables[ ] NewRow();//新建一行 dr[ ISBN ] = Add ISBN ; ds Tables[ ] Rows InsertAt(dr );//插入到第 行位置 Trace Warn( 表数目 Convert ToString(ds Tables Count));//以红字显示调试信息 //grid DataSource=ds Tables[ ] DefaultView; //grid DataBind(); DataView dv=new DataView(ds Tables[ ]); Trace Warn( 字串长度: +psort Convert ToString(psort Length));//排序字符串的长度 if(psort Length> ) dv Sort=psort; grid DataSource=dv; grid DataBind(); fs Close(); void grid_sort(Object obj DataGridSortCommandEventArgs e) if(grid EditItemIndex== ) Dataload(e SortExpression); else Response Write( 正在编辑暂不能排序!! ); void grid_edit(Object obj DataGridCommandEventArgs e) grid EditItemIndex=(int)e Item ItemIndex; show_del( hide ); Dataload( ); void grid_cancel(Object obj DataGridCommandEventArgs e) grid EditItemIndex= ; show_del( show ); Dataload( ); void grid_update(Object obj DataGridCommandEventArgs e) int numcell=e Item Cells Count;//单元格数目(e Item是当前发生事件的表格行) int currentrow=e Item DataSetIndex; //int curr =e Item ItemIndex;//与上句等价 可以不带(int) Trace Warn( 当前更新行号 = Convert ToString(currentrow)); //Trace Warn( 当前更新行号 = Convert ToString(curr )); DataSet ds=new DataSet(); ds ReadXml(xpath);//将xml模式和数据读取到dataSet; DataRow dr;//表示DataTable中的一行信息 if(currentrow== ) dr=ds Tables[ ] NewRow(); else dr=ds Tables[ ] Rows[e Item DataSetIndex ]; string[] str= isbn author title category ments ; int j= ; for(int i= ;i<numcell;i++)//跳过 和 column j=j+ ; string ctext; ctext=((TextBox)e Item Cells[i] Controls[ ]) Text; dr[str[j]] = ctext; Trace Warn(Convert ToString(i)+str[j]+ :每一行的文本 ctext); if(currentrow== ) Response Write( 加入新记录!! ); ds Tables[ ] Rows InsertAt(dr ); ds WriteXml(xpath);//将表示dataset的xml写入到xml文件中 包括数据和模式 grid EditItemIndex = ;//无此句仍在编辑界面 show_del( show ); Dataload( ); void show_del(string state) string tmp=state; switch(tmp) case show : grid Columns[ ] Visible = true; break; case hide : grid Columns[ ] Visible = false; break; default: grid Columns[ ] Visible = true; break;//也要带break
void initialize(Object obj DataGridItemEventArgs e)//注意参数与其它函数不同 //e Item Cells[ ] Text= aaaaa ;// if(e Item ItemIndex== )//如果是第一行 LinkButton a =new LinkButton(); a =(LinkButton)e Item Cells[ ] Controls[ ]; LinkButton a =new LinkButton(); a =(LinkButton)e Item Cells[ ] Controls[ ];//在grid内建一个linkbutton控件 if(a Text== 删 除 ) a Text= ; if(a Text== 编 辑 ) a Text= [AddNew] ; void grid_del(Object obj DataGridCommandEventArgs e) Response Write( XX ); Trace Warn( 正要删除 Convert ToString(e Item ItemIndex));//控件中的行数 int curr=e Item ItemIndex; DataSet ds=new DataSet(); ds ReadXml(xpath); DataRow dr=ds Tables[ ] Rows[curr ];//有一行是新加的 dr Delete();//找到相应的数据行 将其删除 ds WriteXml(xpath); grid EditItemIndex = ; Dataload( );
</script>
<form runat= server > <asp:datagrid id= grid runat= server alternatingitemstyle backcolor= #eeeeee headerstyle backcolor= lightyellow font size= pt allowsorting= true onsortmand= grid_sort oneditmand= grid_edit oncancelmand= grid_cancel onupdatemand= grid_update onitemcreated= initialize ondeletemand= grid_del bordercolor= # > <columns> <asp:buttoncolumn text= 删 除 mandname= delete /> <asp:editmandcolumn buttontype= linkbutton updatetext= 更 新 canceltext= 取 消 edittext= 编 辑 headertext= /> </columns> </asp:datagrid> </form> xml文件(文件名:books xml)
cha138/Article/program/net/201311/11966相关参考
C#操作XML 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 已知有一个XML文件(bookst
VisualC#通用模块开发:DataGrid控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Asp.NET自定义DataGrid控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一&nb
一个ASP.Net的DataGrid分页控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 写的
ASP.NET中DataGrid控件应用技巧简述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Asp.net中DataGrid控件的自定义分页 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 DataGrid Web控件深度历险(2) Part1
DataGridWeb控件深度历险(2)Part1 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 DataGrid Web控件深度历险(3) part3
DataGridWeb控件深度历险(3)part3 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 DataGrid Web控件深度历险(3) part1
DataGridWeb控件深度历险(3)part1 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 DataGrid Web控件深度历险(2) Part2
DataGridWeb控件深度历险(2)Part2 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!