日期:2014-05-20  浏览次数:21043 次

关于ListView的问题
ListView中显示的是用户名,点击添加按钮调出用户列表窗口,然后点击这些用户记录将用户添加到ListView中,用来显示用户列表的控件是datagrid,
我想每次打开用户列表窗口的时候,总是显示在ListView中没有显示的用户,如何才能做到呢?
如:
listview                           datagrid                   而不是   :   datagrid  
小王                                     小马                                               小王
小看                                     小刘                                               小看
                                                                                                  小马
                                                                                                  小刘

------解决方案--------------------
在DataGrid中删除数据,实际上是删除DataGrid的数据源的数据,比如DataGrid的DataSource是DataTable的话,可以用这个DataTable来删除你要删除的数据.

当然用RowFilter过滤是没有问题的.
------解决方案--------------------
我也遇到过这个问题,拿这个ListView做过一个小东西
把我的代码粘上来,也许对你会有帮助
我这个ListView里的数据都是从数据库查询出来的 一共查询了3个列
代码 :

public void listViewLoadData()
//从数据库加载ListView里的数据
{
//连接字符串
string strConn = "provider=SQLOLEDB;Data Source=(local);Initial Catalog=UserMessage;user id=sa;password= ";
OleDbConnection conn = new OleDbConnection(strConn);
string SQL = "select * from users ";
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = SQL;
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
ListViewItem item;

while (dr.Read())
{
//我这个ListView控件的名字就是listViewUser
item = new ListViewItem(new string[] { dr[ "vname "].ToString().Trim(), dr[ "iid "].ToString().Trim(), dr[ "vkind "].ToString().Trim() }, -1);
listViewUser.Items.Add(item);


}
dr.Close();
}

dr[ "name "] dr[ "iid "] dr[ "vkind "] 就是一条数据中的3个列
你照着我的写吧 写写就知道了 讲多了也迷糊