listview控件使用的时候发现不如datagview控件好使,很多时候通过dataset集合获取后,显示的效果不是自己想要的,比如获取一些数据库表名后,显示的时候很乱。
比如想分行显示,想一行显示几个的时候,用起来不是很好用。
如加载一个ds 函数如下:
private void LoadLsvDB(DataSet ds)
{
DataTable dt = ds.Tables[0];
DataRow[] drs = dt.Select();
char[] chrSeperator = new char[] { ';' };//适合多列的分隔符
string[] rowStrArr;
this.listView1.Items.Clear();
listView1.LabelWrap = false;//把自动换行的属性设置为TRUE就好了。
foreach (DataRow dr in drs)
{
string strItem = dr["table_name"].ToString();
rowStrArr = strItem.Split(chrSeperator);
ListViewItem lsvItem = new ListViewItem(rowStrArr);
lsvItem.Tag = dr["table_name"].ToString();
this.listView1.Items.Add(lsvItem);
}
}
上述是增加数据集信息到listview控件中
listView1.LabelWrap = true; 把自动换行的属性设置为TRUE就好了。
当 LabelWrap 属性设置为 true 时,如果需要,项文本会换至文本的下一行。如果文本长于两行,则文本将缩短。
如果用户选择了该项,则显示所有项文本。如果 LabelWrap 属性设置为 false,则所有项文本都将显示在单独一行中。整个项文本在 LabelWrap 设置为 false 时显示。只有在 View 属性设置为 LargeIcon 或 SmallIcon 时才使用该属性。