DataGridView與XML檔案的相互轉存

2021-06-22 05:23:08 字數 4056 閱讀 3409

注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...