Exemplo n.º 1
0
        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;
        }