# Listview用法概览
date: 2019-12-28 11:04:26
# Listview用法概览
## 一、初始化
```c#
listView1.View = View.Details;
listView1.MultiSelect = false;
listView1.GridLines = true;
listView1.FullRowSelect = true;
imageList = new ImageList();
imageList.ImageSize = new Size(1, 26);
listView1.SmallImageList = imageList;
```
## 二、添加列
```c#
ColumnHeader c1 = new ColumnHeader();
c1.Text = "编号";
c1.Width = 80;
listView1.Columns.Add(c1);
//更快的是下面的办法,一次性搞定
pListView.Columns.Add("编码", 100, HorizontalAlignment.Center);
```
## 三、添加项目
```c#
listView1.Items.Clear();
foreach(DataRow dr in dt.Rows)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = dr[0].ToString();
lvi.SubItems.Add(dr[1].ToString());
lvi.SubItems.Add(dr[2].ToString());
listView1.Items.Add(lvi);
}
```
## 四、获取当前选择项的内容
```c#
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
//选择项的对象即 listView1.SelectedItems[0]
tbID.Text = listView1.SelectedItems[0].SubItems[0].Text.Trim();
tbName.Text = listView1.SelectedItems[0].SubItems[1].Text.Trim();
}
}
```
## 五、实时显示当前修改的内容
```c#
RefreshList();//更新全部List view
ListViewItem item = listView1.FindItemWithText(tbID.Text);
item.BackColor = Color.LightSkyBlue;
int p = item.Index;
p = p >= 1 ? p - 1 : 0;
listView1.Items[p].BackColor = Color.FromArgb(200, 100, 100);
listView1.TopItem = listView1.Items[p];
```
## 六、暂时想到这些。