C# 文本文件作为数据源在gridview中显示数据
文本文件数据如下所示: 设备ID:12787设备名称:ACME医疗中心设备位置:XYZ 设备ID:27875设备名称:医疗中心设备位置:khC# 文本文件作为数据源在gridview中显示数据,c#,.net,C#,.net,文本文件数据如下所示: 设备ID:12787设备名称:ACME医疗中心设备位置:XYZ 设备ID:27875设备名称:医疗中心设备位置:kh private void ReadFile(string fileName) { var rows = System.IO.File.ReadAllLines(fileName); Char[] separator = new Char[] { ':' };
private void ReadFile(string fileName)
{
var rows = System.IO.File.ReadAllLines(fileName);
Char[] separator = new Char[] { ':' };
DataTable tbl = new DataTable(fileName);
if (rows.Length != 0)
{
foreach (string headerCol in rows[0].Split(separator[0]))
{
tbl.Columns.Add(new DataColumn(headerCol));
}
if (rows.Length > 1)
{
for (int rowIndex = 1; rowIndex < rows.Length; rowIndex++)
{
var newRow = tbl.NewRow();
var cols = rows[rowIndex].Split(separator);
for (int colIndex = 0; colIndex < cols.Length; colIndex++)
{
newRow[colIndex] = cols[colIndex];
}
tbl.Rows.Add(newRow);
}
}
}
}
我应该如何修改代码数据表应该如下所示填写
FacilityID FacilityName FacilityLocation
12787 ACME Medical Center XYZ
27875 Medical Center kh
网上已有的一些资料可能会对你有所帮助 请浏览以下连结:
问题是什么?(减去拼写错误,目前还没有问题)Artyom:请检查我是否更新了问题..我的问题是从文本文件读取数据并显示在GridView上。我不理解问题。那就去做吧。有什么问题吗?有什么例外吗?“Datatable错误填充”是什么意思?我需要数据按行显示FacilityID、FacilityName等列。对代码的一点解释不会伤害任何人。在我的示例中,我使用字符串。但您可以像从文件读取一样进行更改。列名是常量,不能更改。您可以使用上面的列名。“:”分割好。但问题是,拆分后,您将获得实际值+下一个列名。所以这里我从单元格值中删除列名。
FacilityID FacilityName FacilityLocation
12787 ACME Medical Center XYZ
27875 Medical Center kh
private string GetID(string str)
{
if (!string.IsNullOrEmpty(str.Split(':')[1]))
{
return str.Split(':')[1].Replace("FacilityName", string.Empty);
}
return string.Empty;
}
private string GetName(string str)
{
if (!string.IsNullOrEmpty(str.Split(':')[2]))
{
return str.Split(':')[2].Replace("FacilityLocation", string.Empty);
}
return string.Empty;
}
private string GetLocation(string str)
{
if (!string.IsNullOrEmpty(str.Split(':')[3]))
{
return str.Split(':')[3];
}
return string.Empty;
}
private string Button Click()
{
string rows = "FacilityID:12787 FacilityName:ACME Medical Center FacilityLocation:XYZ";
DataTable tbl = new DataTable("test");
if (rows.Length != 0)
{
tbl.Columns.Add("FacilityID");
tbl.Columns.Add("FacilityName");
tbl.Columns.Add("FacilityLocation");
var newRow = tbl.NewRow();
newRow[0] = GetID(rows);
newRow[1] = GetName(rows);
newRow[2] = GetLocation(rows);
tbl.Rows.Add(newRow);
dataGridView1.DataSource = tbl.DefaultView;
}
}