private void tableEdit_TextChanged(object sender, EventArgs e) { var dbfPath = pathEdit.Text + '/' + tableEdit.Text; DataTable dt = new DataTable(); using (var dbfTable = new DbfTable(dbfPath, Encoding.UTF8)) { var header = dbfTable.Header; var versionDescription = header.VersionDescription; var hasMemo = dbfTable.Memo != null; var recordCount = header.RecordCount; foreach (var dbfColumn in dbfTable.Columns) { dt.Columns.Add(new DataColumn(dbfColumn.Name)); } int rowIndex = 0; while (rowIndex < recordCount) { DbfRecord record = dbfTable.ReadRecord(); if (record != null) { DataRow row = dt.NewRow(); int columIndex = 0; foreach (var dbfColumn in dbfTable.Columns) { row[columIndex] = record.Values[columIndex]; ++columIndex; } dt.Rows.Add(row); } ++rowIndex; } } tableView.DataSource = dt; }