使用行选择将DataBase(.mdb / .accdb)导出到.csv
我应该做什么:
我需要加载数据库,搜索条目和导出选定的列。
问题:
我有一个DataGrid
(没有DataGridView
)列表并选择数据库条目,我无法得到任何解决方案只导出所选行;
作为分隔符。
编码我如何加载和列出数据库
using (OleDbConnection ODC = new OleDbConnection("Provider = Microsoft.Jet.OLEDB." + iOledDBVersion + "; Data Source = " + connectionString)) { OleDbCommand ODCmd = new OleDbCommand(insertSQL); ODCmd.Connection = ODC; ODC.Open(); ODCmd.ExecuteNonQuery(); //Data-Adapter erstellen OleDbDataAdapter OleDbDataAdapter_Temp = new OleDbDataAdapter(insertSQL, ODC); OleDbCommandBuilder OleDbCommandBuilder_Temp = new OleDbCommandBuilder(OleDbDataAdapter_Temp); //Daten aus der Datenbank in Dataset speichern OleDbDataAdapter_Temp.Fill(DataSet_DB, sTabelle); // Schleife für jede Tabelle for (int i = 0; i < DataSet_DB.Tables.Count; i++) { // Setzt die Spalten der DB in das DataGrid DataGrid_Table.DataContext = DataSet_DB.Tables[i].DefaultView; } }
是否有任何导出这些行的方法?
有一个SelectedItems
属性,它将返回DataGrid
的选定项。 在您的情况下,您可以将每个此类项目都添加到DataRowView
,例如:
StringBuilder sb = new StringBuilder(); foreach(var selectedRow in DataGrid_Table.SelectedItems.OfType()) { foreach(DataColumn column in selectedRow.DataView.Table.Columns) { sb.Append(selectedRow[column.ColumnName] + ";"); } sb.Append(Environment.NewLine); } string export = sb.ToString();