我创建了一个类库,并尝试从 List 中添加数据到 DataGridView 中。字符串的格式如下所示:"Test, 1^Glucose^10/24/2013 10:00;Test, 2^BUN^10/25/2013 11:00;Test, 3^BUN^10/25/2013 11:00"。我正在从另一个程序中传递该字符串。然后将其转换为列表,但尝试将其添加到 DataTable 中时失败了。我的 DataGridView 包含四列:
- Selected - 复选框 - Patient Name - 字符串 - Order Name - 字符串 - Order Date - 字符串 - Reason - 下拉框
我收到了错误信息:“列表大于列数”。注意:在将字符串传递到该程序之前,我可以根据需要对其进行处理,请让我知道是否需要在传递到程序之前处理字符串。是否有更简单的方法?我只想显示数据,其他方面我会继续努力。任何帮助都将不胜感激。
以下是我的代码:
- Selected - 复选框 - Patient Name - 字符串 - Order Name - 字符串 - Order Date - 字符串 - Reason - 下拉框
我收到了错误信息:“列表大于列数”。注意:在将字符串传递到该程序之前,我可以根据需要对其进行处理,请让我知道是否需要在传递到程序之前处理字符串。是否有更简单的方法?我只想显示数据,其他方面我会继续努力。任何帮助都将不胜感激。
以下是我的代码:
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;
}
}