您好。我有一个Windows窗体应用程序。在我做了什么之后,我想要的是在Listview
中添加更新。更像是一个日志文件。这是我的代码:
private void Form1_Load(object sender, EventArgs e)
{
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
//Add column header
listView1.Columns.Add("Import Status", 100);
listView1.Columns.Add("Price", 70);
listView1.Columns.Add("Date", 70);
//Add items in the listview
string[] arr = new string[4];
ListViewItem itm;
//Add first item
arr[0] = "product_1";
arr[1] = "100";
arr[2] = "10";
itm = new ListViewItem(arr);
listView1.Items.Add(itm);
//Add second item
arr[0] = "product_2";
arr[1] = "200";
arr[2] = "20";
itm = new ListViewItem(arr);
listView1.Items.Add(itm);
}
如何在没有'硬编码'的情况下将项目添加到ListView
?有什么建议?我怎样才能在Button.Click
处执行此操作,它可以添加包含一些数据的行?
答案 0 :(得分:2)
How can I Add items to the ListView without 'hardcoding' them?
代码
private void Form1_Load(object sender, EventArgs e)
{
listView1.View = View.Details;
listView1.GridLines = true;
listView1.FullRowSelect = true;
listView1.Columns.Add("Import Status");
listView1.Columns.Add("Price");
listView1.Columns.Add("Date");
}
private void btnAdd_Click(object sender, EventArgs e)
{
ListViewItem LVI = new ListViewItem(txtstatus.Text);
LVI.SubItems.Add(txtPrice.Text);
LVI.SubItems.Add(txtDate.Text);
listView1.Items.Add(LVI);
}
UI
答案 1 :(得分:1)
将这两行全球化,以允许您在班级的每个方法中访问:
string[] arr = new string[4];
ListViewItem itm;
现在创建一个button click
事件并将代码放入其中:
private void button1_Click(object sender, EventArgs e)
{
arr[0] = "product_2"; //you can get these values from textboxes if you are taking input from user
arr[1] = "200";
arr[2] = "20";
itm = new ListViewItem(arr);
listView1.Items.Add(itm);
}
答案 2 :(得分:1)
你好:)你可以使用datagridview而不是listview控件。
您所要做的就是定义自己的数据集或添加数据集控件 到你的项目。你只需要将三列添加到那里的新数据表中。 然后:
现在您可以将新数据行添加到数据表中,它们将自动显示在datagridview中。好处是,你必须定义一次表格布局,设计师会为你生成一个自定义数据流类型,你可以使用它。
我的经验告诉我,这种方式比使用listview更舒服。最重要的是,如果你想在其他地方处理数据,你可以在数据表上LINQ 上下文。我之前使用过listview,但由于datagridview与数据集结合,一切都更好;)
诚恳, ceth