显示从列表视图到文本框的选定行
本文关键字:文本 列表 视图 显示 | 更新日期: 2023-09-27 18:21:56
如何将所选行从listview显示到textBox?
这就是我如何做int dataGridView:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ReadOnly = true;
if (dataGridView1.SelectedRows.Count != 0)
{
DataGridViewRow row = this.dataGridView1.SelectedRows[0];
EmpIDtextBox.Text = row.Cells["EmpID"].Value.ToString();
EmpNametextBox.Text = row.Cells["EmpName"].Value.ToString();
}
}
我试过这个:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
ListViewItem item = listView1.SelectedItems[0];
if (item != null)
{
EmpIDtextBox.Text = item.SubItems[0].Text;
EmpNametextBox.Text = item.SubItems[1].Text;
}
}
您可能需要先检查是否有SelectedItem。当选择发生变化时,ListView
实际上会取消选择旧项目,然后选择新项目,从而触发listView1_SelectedIndexChanged
两次。除此之外,您的代码应该可以工作:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
ListViewItem item = listView1.SelectedItems[0];
EmpIDtextBox.Text = item.SubItems[0].Text;
EmpNametextBox.Text = item.SubItems[1].Text;
}
else
{
EmpIDtextBox.Text = string.Empty;
EmpNametextBox.Text = string.Empty;
}
}
//在c#中选择行列表视图检查
foreach(taskShowListView.Items中的ListViewItem itemRow){
if (itemRow.Items[0].Checked == true)
{
int taskId = Convert.ToInt32(itemRow.SubItems[0].Text);
string taskDate = itemRow.SubItems[1].ToString();
string taskDescription = itemRow.SubItems[2].ToString();
}
}
只需选择行即可。在列表上迭代,并检查选择了哪一行。根据所选行进行操作。如
private void delete_Items(object sender, EventArgs e)
{
foreach(ListViewItem item in listView1.Items)
{
if (item.Selected == true)
{
// Code Here...
}
}
}