我有一张有ListBox
的胜利表格。我想动态创建一个DataTable
(到现在为止我只声明了一些列 - 您可以在代码中看到 - 我后来想用它来将DataTable
链接到现有的空DataBase
)但不知道如何将其链接到Listbox
以便从中获取4个元素:event_time , event_filename , event_name , event_fullpath
。请帮助,
到目前为止我的部分代码是:
private delegate void AppendListHandler(string event_filename, String event_name, String event_fullpath);
private void AppendText(string event_filename, String event_name, String event_fullpath)
{
if (lstResultLog.InvokeRequired)
lstResultLog.Invoke(new AppendListHandler(AppendText), new object[] { event_filename, event_name, event_fullpath });
else
{
DateTime event_time = DateTime.Now;
//String event_duration = event_time.ToString("HH:mm");
lstResultLog.Items.Add(event_time + event_filename + event_name + event_fullpath);
}
DataTable table = new DataTable("tbl_Event");
table.Columns.Add("event_duration");
table.Columns.Add("event_name");
table.Columns.Add("event_filename");
table.Columns.Add("event_fullpath");
table = (DataTable)lstResultLog.DataSource;
}
lstResultLog
是ListBox的名称,ListBox中的所有字段都具有与声明的DataTable一样的确切名称,以及DataBase。
答案 0 :(得分:1)
您可以在表单中添加一个DataTable
类型的字段,用于保存您想要的数据。然后,每当您将项目添加到列表框时,请使用相同的数据向数据表中添加一行:
public class YourForm
{
private DataTable _table;
public YourForm()
{
InitializeComponents();
_table = BuildDataTable();
}
private DataTable BuildDataTable()
{
DataTable table = new DataTable("tbl_Event");
table.Columns.Add("event_duration");
table.Columns.Add("event_name");
table.Columns.Add("event_filename");
table.Columns.Add("event_fullpath");
return table;
}
private void AppendText(string event_filename, String event_name, String event_fullpath)
{
if (lstResultLog.InvokeRequired)
lstResultLog.Invoke(new AppendListHandler(AppendText), new object[] { event_filename, event_name, event_fullpath });
else
{
DateTime event_time = DateTime.Now;
lstResultLog.Items.Add(event_time + event_filename + event_name + event_fullpath);
//Create new row
var row = _table.NewRow();
// Fill row values
row["event_name"] = event_name;
// Add row to table
_table.Rows.Add(row);
}
}
}
当您需要将数据发送到数据库时,只需将_table
字段作为参数发送到保存数据的方法。