【发布时间】:2013-06-15 19:16:30
【问题描述】:
我创建了一个类库,并尝试将数据从 List<string[]> 添加到 DataGridView。
字符串格式如下:
“测试,1^葡萄糖^10/24/2013 10:00;测试,2^BUN^10/25/2013 11:00;测试,3^BUN^10/25/2013 11:00”
我正在从另一个程序传递字符串。然后,我将其添加到列表中,然后尝试将其添加到 DataTable 但没有这样的运气。我用四列创建了 datagridview。
选中 - 复选框
患者姓名 - 字符串
订单名称 - 字符串
订单日期 - 字符串
原因 - 组合框
我收到一个错误:
列表大于列数。
注意:在传递给这个程序之前,我可以创建任何我想要的字符串,所以如果我需要在传递给程序之前对字符串做一些事情,请告诉我。有没有更简单的方法?
我只想显示数据,其余部分我会处理。
任何帮助将不胜感激。
这是我的代码:
public partial class RenewOrders : Form
{
public static string strMLMPatientData = string.Empty;
public RenewOrders(string all_patient_data)
{
InitializeComponent();
strMLMPatientData = "Test, 1^Glucose^10/24/2013 10:00;Test, 2^BUN^10/25/2013 11:00;Test, 3^BUN^10/25/2013 11:00"
}
private void RenewOrders_Load(object sender, EventArgs e)
{
this.ConvertStringToList(strMLMPatientData);
}
private void ConvertStringToList(string strMLMPatientData)
{
var patient_list = strMLMPatientData.Split(';').Select(x => x.Split('^')).ToList();
DataTable dtTable = ConvertListToDataTable(patient_list);
dataGridView1.DataSource = dtTable;
}
// Convert to DataTable.
static DataTable ConvertListToDataTable(List<string[]> patient_list)
{
// New table.
DataTable dtTable = new DataTable();
dtTable.Columns.Add("Name", typeof(string));
dtTable.Columns.Add("Order Name", typeof(string));
dtTable.Columns.Add("Order Date/Time", typeof(string));
foreach (var row in patient_list)
{
table.Rows.Add(row);
}
return dtTable;
}
}
【问题讨论】:
-
请始终只发布相关内容..