C# 是否将所选行从listview显示到textBox?
如何将所选行从listview显示到textBox 这是我如何处理int dataGridView的:C# 是否将所选行从listview显示到textBox?,c#,winforms,listview,textbox,C#,Winforms,Listview,Textbox,如何将所选行从listview显示到textBox 这是我如何处理int dataGridView的: private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { dataGridView1.Rows[e.RowIndex].ReadOnly = true; if (dataGridView1.SelectedRows.Count != 0) { Da
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\u 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项目行) {
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();
}
}
代码应该可以工作,实际问题是什么?可能会出现一些异常
indexootfrangeexception
,因为有时候ListView
中没有选定的项目。将一行更改为ListViewItem item=listView1.SelectedItems.Count>0?listView1.SelectedItems[0]:null;
将涵盖超出范围的问题。欢迎来到StackOverflow。您能详细说明您的答案吗?