增加数据
//多行数据可放在循环里
ListViewItem viewInfo = new ListViewItem(shipInfo[0, i]); //第一项
viewInfo.SubItems.Add((shipPos[0, i]).ToString()); //第二项
viewInfo.SubItems.Add((shipPos[1, i]).ToString()); //第三项
viewInfo.SubItems.Add(shipInfo[1, i]); //第四项
listViewInfo.Items.Add(viewInfo); //
增加数据后想默认选中第一行
listViewInfo.Focus();
listViewInfo.Items[0].Selected = true;
修改数据
//占坑
主动查找
chuteInfo[0, 3] = listViewInfo.Items[c[0]].SubItems[0].Text;//将c[0]行数据读进来
读取当前定位行
注意:这个事件是点击某一行,触发一次。读取数据可以直接用。此处我使用第一行默认可修改的功能,每次点击其他行时对上次输入的信息进行保存。此处仅仅作为参考。
//(双击listView,进入事件)
private void listViewInfo_SelectedIndexChanged(object sender, EventArgs e)
{
if (listViewInfo.SelectedIndices != null && listViewInfo.SelectedIndices.Count > 0)
{
ListView.SelectedIndexCollection c = listViewInfo.SelectedIndices;
ShowLog($"{listViewInfo.Items[c[0]].SubItems[0].Text}\r\n");
lvPosNow = (short)c[0];//读取所处的行数
chuteInfo[0, 3] = listViewInfo.Items[c[0]].SubItems[0].Text;//将c[0]行数据读进来
}
}
listView某项是不是空的
if((string.Equals("", listViewInfo.Items[lvPos].SubItems[0].Text)) || string.Equals(null, listViewInfo.Items[lvPos].SubItems[0].Text))