注1:仍存在以下問題:
1. xml轉存至datagridview中時,不能自動生成行列,必須手動指定view的行列值。
2. datagridview轉存至xml中時,丟失一行資料
注2:本人解決問題:
1.解決了 datagridview轉存至xml後,丟失一行資料的 問題
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.data;
using system.io;
using system.windows.forms;
namespace datadisplay
public void datagridviewtoxml(datagridviewexportoptions datagridviewexportoption, string filepath)
), filepath);
}public void datagridviewtoxml(listdatagridviewexportoptions, string filepath)
i++;}}
else
datagridviewfilltodataset(dataset, option);
sheetindex++;
#endregion
}exporttoxml(dataset, filepath);
}finally
}// 處理 datagridview 中的資料以填充到指定的 dataset 中
private void datagridviewfilltodataset(dataset dataset, datagridviewexportoptions option)
#endregion
#region " 填充**正文內容 "
foreach (datagridviewrow datarow in option.datagridview.rows)
else
}table.rows.add(row);
}#endregion
dataset.tables.add(table);
}#endregion
#region " exporttoxml "
/// /// 儲存 dataset 資料到 xml 檔案
///
/// dataset資料物件
/// xml 檔案位址
private void exporttoxml(dataset dataset, string filepath)
catch
#endregion
dataset.writexml(filepath);
}#endregion
#region importxml
public void xml2datagridview(datagridview datagridview, string filepath)}}
#endregion
}#region " datacolumnexportoptions "
/// /// 匯出資料字段屬性選項類
///
class datacolumnexportoptions
set
}/// /// 字段標題
///
public string caption
set
}/// /// 是否顯示(匯出)
///
public boolean visible
set
}/// /// 建構函式
///
/// 欄位名稱
public datacolumnexportoptions(string columnname)
: this(columnname, columnname)
/// /// 建構函式
///
/// 欄位名稱
/// 字段標題
public datacolumnexportoptions(string columnname, string caption)
: this(columnname, caption, true)
/// /// 建構函式
///
/// 欄位名稱
/// 字段標題
/// 是否顯示(匯出)
public datacolumnexportoptions(string columnname, string caption, boolean visible)
}#endregion
#region " datagridviewexportoptions 「
class datagridviewexportoptions
set
}/// /// 匯出的字段屬性列表
///
public listcolumnoptions
set
}/// /// 要匯出的字段列表(唯讀)
///
public listvisiblecolumnoptions
}/// /// 匯出的工作表名稱
///
public string worksheetname
set
}/// /// 建構函式
///
/// 要匯出到datagridview物件
public datagridviewexportoptions(datagridview datagridview)
: this(datagridview, null)
/// /// 建構函式
///
/// 要匯出到datagridview物件
/// 匯出的字段屬性列表
public datagridviewexportoptions(datagridview datagridview, listcolumnoptions)
: this(datagridview, columnoptions, null)
/// /// 建構函式
///
/// 要匯出到datagridview物件
/// 匯出的字段屬性列表
/// 匯出生成的工作表名稱
public datagridviewexportoptions(datagridview datagridview, listcolumnoptions, string worksheetname)
else
if (string.isnullorempty(worksheetname))
this._worksheetname = datagridview.name;
else
this._worksheetname = worksheetname;
this._visiblecolumnoptions = new list();
foreach (datacolumnexportoptions option in this._columnoptions)}}
#endregion
}
private void bttoxml_click(object sender, eventargs e)
}gridviewtoxml.serialdebug dia = new serialdebug();
dia.datagridviewtoxml(this.datagridview1,"data.xml");
}private void bttoview_click(object sender, eventargs e)
wanglei_wan
出處:
xm學習筆記
1關於靜態網頁的製作 html主要負責頁面的結構 css頁面的美觀 js與使用者的互動 2html 有標籤體的標籤 沒有標籤的標籤 html的標籤是固定的。是由 w3c預先規定好的!3xml和html的簡單對比 xml 1 可以擴充套件的標記語言 2 可以自定義標籤 3 描述帶關係的資料,作為軟體的...
DatagridView 新增與刪除行
下文 rows cannot be programmatically added to the datagridview s rows 當控制項被資料繫結時,無法以程式設計方式向 datagridview 的行集合中新增行。關於這個問題的解決方法,網上只有以 datatable dataset 做為...
5800xm使用有感
自從上次去了武夷山,e63掉水裡面之後,我的手機就一直是nokia的1100,再也不能使用google地圖,opera上網衝浪了,鬱悶了好久。後來終於下定決心再重新買乙個智慧型手機,最開始想買g2,但是2400以上的 讓我心裡很是不爽,後來挑來挑去還是選了5800xm,說實話,我很是不願意買noki...