将文本文件加载到数据网格中,并且长数字显示不正确



我正在将.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

相关内容

  • 没有找到相关文章