知识大全 使用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

C#操作XML  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  已知有一个XML文件(bookst

知识大全 DataGrid控件

VisualC#通用模块开发:DataGrid控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Asp.NET自定义DataGrid控件

Asp.NET自定义DataGrid控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一&nb

知识大全 一个ASP.Net的DataGrid分页控件

一个ASP.Net的DataGrid分页控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  写的

知识大全 ASP.NET中DataGrid控件应用技巧简述

ASP.NET中DataGrid控件应用技巧简述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Asp.net中DataGrid控件的自定义分页

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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!