如何将组合框的选定索引添加到列表视图中的列
本文关键字:添加 列表 视图 索引 组合 | 更新日期: 2023-09-27 18:17:03
我发现了这种变化,但没有解决这个问题。它是这样的:
我正在使用Winforms。我有一个组合框和一个列表视图与3列。用户既可以从组合框中选择现有值,也可以通过文本框和按钮添加自己的值。这些都可以正常工作。
这就是我遇到问题的地方:我希望用户能够从组合框中选择一个值,在这种情况下是一个类别,并在"类别"列下的列表视图中显示该值。
我正在自学c#,这是第2天,所以请原谅我。
我的listview代码:
private void Form1_Load(object sender, EventArgs e)
{
//Calls the function that adds properties to the listview
PopulateListView();
btnEditDesiredEnd.BackColor = Color.LightGray;
btnDeposit.BackColor = Color.LightGray;
}
public void PopulateListView()
{
//Listview Properties:
//Listview Details
lstView.View = View.Details;
//Allow user to edit labels
lstView.LabelEdit = true;
//Allow user to change column order
lstView.AllowColumnReorder = true;
//Display checkboxes
//lstView.CheckBoxes = true;
//Display gridlines
lstView.GridLines = true;
//Allows user to select entire row
lstView.FullRowSelect = true;
//Create columns, width of -2 indicates auto-size
lstView.Columns.Add("Transaction", 70, HorizontalAlignment.Center);
lstView.Columns.Add("Category", 130, HorizontalAlignment.Center);
lstView.Columns.Add("Description", -2, HorizontalAlignment.Left);
//Add listview as a control
this.Controls.Add(lstView);
}
这个按钮应该将所有用户输入添加到listview。唯一不能工作的行是最后一行。
不能分配'Add',因为它是一个'方法组'。private void btnDeposit_Click(object sender, EventArgs e)
{
lstView.View = View.Details;
ListViewItem lvwItem = lstView.Items.Add(txtDeposit.Text);
lvwItem.SubItems.Add(txtWithdraw.Text);
lvwItem.SubItems.Add(txtDescription.Text);
txtDeposit.Clear();
txtWithdraw.Clear();
txtDescription.Clear();
btnDeposit.Enabled = false;
btnDeposit.BackColor = Color.LightGray;
lstView.Items.Add = cboCategory.SelectedIndex;
}
编辑:这是工作代码。(cboCategory为组合框)
private void btnDeposit_Click(object sender, EventArgs e)
{
lstView.View = View.Details;
ListViewItem lvwItem = lstView.Items.Add(txtDeposit.Text);
if (cboCategory.SelectedItem != null)
{
lvwItem.SubItems.Add(cboCategory.SelectedItem.ToString());
}
lvwItem.SubItems.Add(txtDescription.Text);
. add是一个方法,所以它需要像方法一样被调用。
lstView.Items.Add("Adding this string to the list view");
但是我不知道什么是bocategory,所以我不能建议你想添加什么
正如Sriram在这一行上面所说的是完全错误的,实际上我们也不知道你的cboCategory包含什么
lstView.Items.Add = cboCategory.SelectedIndex;
当然你不应该这样做:
lstView.Items.Add(lvwItem);
和/或…
var selectedValue = lstView.Items.FirstOrDefault( c=>whateversearchparameters here);
if( selectedValue!=null )
SelectAndStuffHere();
在不了解更多的情况下很难判断:)
但希望它有帮助,
欢呼Stian