我正在将.txt
文件导入DataGridView
,现在工作得很好。
遗憾的是,唯一重要值未正确显示。
值(德国跟踪号(为:"00340433914967320068">
请参阅随附的屏幕截图(F2列(如何在数据网格中显示的。 所有其他值都像魅力一样工作。
甚至更长的,例如:"[x,xx] Gewicht<0>N^[0,00] DHL Paket<101>L^"
屏幕截图显示问题
代码是:
private void buttonEasy1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.textBox1.Text = openFileDialog1.FileName;
this.labeltxt1.Text = openFileDialog1.SafeFileName;
// .txt einlesen Anfang
string[] lines1 = { "[" + labeltxt1.Text + "]", "Format = Delimited(;)", "ColNameHeader = False "};
System.IO.File.WriteAllLines(@"C:*schema.ini", lines1);
string FileName1 = textBox1.Text;
OleDbConnection conn1 = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source = " +
Path.GetDirectoryName(FileName1) + ";Extended Properties='text;';");
conn1.Open();
OleDbDataAdapter adapter1 = new OleDbDataAdapter
("SELECT * FROM " + Path.GetFileName(FileName1), conn1);
DataSet ds1 = new DataSet("Temp");
adapter1.Fill(ds1);
conn1.Close();
dataGridView1.DataSource = ds1;
dataGridView1.DataMember = "Table";
// .txt einlesen Ende
尝试更改 DataGrid 列格式。例如:
dataGridView1.Columns[1].DefaultCellStyle.Format = "N0";
或
dataGridView1.Columns[1].DefaultCellStyle.Format = "###################";
关于史蒂夫评论的更多信息 -
我尝试了这些解决方案:
如何更改数据表中数据列的数据类型?
DataTable dtCloned = dt.Clone();
dtCloned.Columns[1].DataType = typeof(String);
foreach (DataRow row in dt.Rows)
{
dtCloned.ImportRow(row);
}
和
adapter.FillSchema(table, SchemaType.Source);
table.Columns[1].DataType = typeof (String);
adapter.Fill(table);
没有任何变化 - 仍然显示 3,40433191496732E+17 而不是00340433914967320587