C#-如何将变量放入第二列ListView
我有两张表格,表格一和表格二。 form1有两个按钮,btnVanilla和btnConfirm。 form2有一个listView,listView1 在form1上,单击香草一次后,香草旁边的数量列中应显示“1”。 但目前它在香草下面显示“1”。如何将其移至下一列 有一个截图显示了我的意思 表格1C#-如何将变量放入第二列ListView,c#,listview,button,count,C#,Listview,Button,Count,我有两张表格,表格一和表格二。 form1有两个按钮,btnVanilla和btnConfirm。 form2有一个listView,listView1 在form1上,单击香草一次后,香草旁边的数量列中应显示“1”。 但目前它在香草下面显示“1”。如何将其移至下一列 有一个截图显示了我的意思 表格1 公共部分类表单1:表单 { 私有字符串vanilla=“vanilla”; 私有列表_值=新列表(); 公共表格1() { 初始化组件(); } int vanillaCount=0 公共无效bt
公共部分类表单1:表单
{
私有字符串vanilla=“vanilla”;
私有列表_值=新列表();
公共表格1()
{
初始化组件();
}
int vanillaCount=0
公共无效btnVanilla_单击(对象发送者,事件参数e)
{
如果(!_值包含(香草))
{
_添加(香草);
}
vanillaCount++;
}
私有void btnConconfirm\u单击(对象发送者,事件参数e)
{
form2 frm2=新的form2(_值,vanillaCount);
frm2.Show();
this.Hide();
}
}
表格2
public partial class form2 : Form
{
private List<string> _values;
public form2(List<string> _values)
{
this._values = _values;
}
public form2(List<string> passedValues, int vanillaCount)
{
InitializeComponent();
foreach (var item in passedValues)
{
listView1.Items.Add(item);
}
listView1.Items[0].SubItems[1].Text = vanillaCount.ToString();
}
}
公共部分类表单2:表单
{
私有列表值;
公共表格2(列表值)
{
这是。_值=_值;
}
公共表单2(列出传递的值,整数)
{
初始化组件();
foreach(passedValues中的var项)
{
listView1.Items.Add(项目);
}
listView1.Items[0]。子项[1]。Text=vanillaCount.ToString();
}
}
您确定这一行
listView1.Items[0].SubItems[1].Text = vanillaCount.ToString();
对吗?您没有在任何地方创建子项,它应该是
listView1.Items[0].SubItems.Add(vanillaCount.ToString());
你确定这条线
listView1.Items[0].SubItems[1].Text = vanillaCount.ToString();
对吗?您没有在任何地方创建子项,它应该是
listView1.Items[0].SubItems.Add(vanillaCount.ToString());
对于您的问题,请使用以下方法:
ListViewItem row = new ListViewItem();
row.SubItems.Add(value.ToString());
listview1.Items.Add(row);
如果listview中有列,您可以重复第二行的次数,以解决您的问题,使用如下方法:
ListViewItem row = new ListViewItem();
row.SubItems.Add(value.ToString());
listview1.Items.Add(row);
重复第二行的次数与listview中的列数相同针对实际问题的一种解决方案:
public Form2(List<string> passedValues, int vanillaCount)
{
InitializeComponent();
// This line let you show more Columns
listView1.View = View.Details;
// Define your needed Columns
listView1.Columns.Add("Item-Name", -2); //(the width with -2 means, that the column will be autosized)
listView1.Columns.Add("Quantity");
foreach (var item in passedValues)
{
// Create a new ListViewItem "Vanilla", add your needed Subitems like Quantity, Price, ...
var newItem = new ListViewItem(item);
newItem.SubItems.Add(vanillaCount.ToString());
// add the new Item to your ListView
listView1.Items.Add(newItem);
}
}
针对实际问题的一种解决方案:
public Form2(List<string> passedValues, int vanillaCount)
{
InitializeComponent();
// This line let you show more Columns
listView1.View = View.Details;
// Define your needed Columns
listView1.Columns.Add("Item-Name", -2); //(the width with -2 means, that the column will be autosized)
listView1.Columns.Add("Quantity");
foreach (var item in passedValues)
{
// Create a new ListViewItem "Vanilla", add your needed Subitems like Quantity, Price, ...
var newItem = new ListViewItem(item);
newItem.SubItems.Add(vanillaCount.ToString());
// add the new Item to your ListView
listView1.Items.Add(newItem);
}
}