在ListView控件中隐藏ID列

Iva*_*nov 6 c# ado.net listview winforms

我将ListView控件绑定到DataTable.DataTable有一个名为ProductID的列.有没有办法隐藏这个专栏,因为我以后需要它的价值?

Han*_*ant 13

我只是解决UI角度问题.您可以通过将列宽设置为0来隐藏它.例如,如果ID绑定到第2列:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        listView1.Columns[1].Width = 0;
        listView1.ColumnWidthChanging += listView1_ColumnWidthChanging;
    }

    private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e) {
        if (e.ColumnIndex == 1) {
            e.NewWidth = 0;
            e.Cancel = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它并不是很理想,用户可能会被"分离器"光标所困扰,当光谱分离器右侧有点太远时,它会显示出来.这很难解决.