我一直在试图找出一种方法来读取所选择的数据ListView
的行,并显示在他们的尊重,每个值TextBox
,即可轻松编辑。
第一个和最简单的方法是这样的:
ListViewItem item = listView1.SelectedItems[0];
buyCount_txtBox.Text = item.SubItems[1].Text;
buyPrice_txtBox.Text = item.SubItems[2].Text;
sellPrice_txtBox.Text = item.SubItems[3].Text;
没有什么不对的代码,但我周围有40个或更多TextBoxes
应显示的数据。 编码全部40个左右会变得非常乏味。
该解决方案,我想出了,是让所有TextBox
控件在我的用户控制像这样:
foreach (Control c in this.Controls)
{
foreach (Control childc in c.Controls)
{
if (childc is TextBox)
{
}
}
}
然后,我需要循环选定ListView
列列标题。 如果他们的列标题匹配TextBox.Tag然后显示在他们的尊重TextBox中的列的值。
最终代码会是这个样子:
foreach (Control c in this.Controls)
{
foreach (Control childc in c.Controls)
{
// Needs another loop for the selected ListView Row
if (childc is TextBox && ColumnHeader == childc.Tag)
{
// Display Values
}
}
}
所以,那么我的问题是:我如何遍历选定ListView
行和每一列的标题。