ListView中显示的是用户名,点击添加按钮调出用户列表窗口,然后点击这些用户记录将用户添加到ListView中,用来显示用户列表的控件是datagrid,
我想每次打开用户列表窗口的时候,总是显示在ListView中没有显示的用户,如何才能做到呢?
如:
listview datagrid 而不是 : datagrid
小王 小马 小王
小看 小刘 小看
小马
小刘
我想每次打开用户列表窗口的时候,总是显示在ListView中没有显示的用户,如何才能做到呢?
如:
listview datagrid 而不是 : datagrid
小王 小马 小王
小看 小刘 小看
小马
小刘
------------------
这是个办法
在DataGrid中选了一个记录成功的添加到ListView后可以在DataGrid中删除这个数据以达到不显示的目的,而当在Listview删除的时候再添加到DataGrid中就是了.这也是常用的方法.
比如:RowFilter!="小王" RowFilter!="小看"
RowFilter="字段名<>'值1' and 字段名<>'值2'...."
把我的代码粘上来,也许对你会有帮助
我这个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个列
你照着我的写吧 写写就知道了 讲多了也迷糊
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);
}
这段儿 看懂了就OK了
还是不行加我QQ 5948710
我把我做的项目发给你
你的代码是把数据库中的记录添加到listview中显示出来,你没看清我的问题。不过还是谢谢你。hbxtlhx(平民百姓)
谢谢你的耐心和帮助,我的问题已解决了,新年快乐。
用DataTable作为dataGrid数据源,如果是删除行:
ds.Tables["table0"].Rows[dataGrid1.CurrentCell.RowNumber].Delete();//删除选中的行
//datetable1.Rows[dataGrid1.CurrentCell.RowNumber].Delete();
ds.Tables["table0"].AcceptChanges();
//datetable1.AcceptChanges();
如果是用筛选,则要用到DataView对象
//也可使用ds.Tables["table0"].DefaultView.RowFilter
//这是DataTable默认的DefaultView对象
DataView dv = new DataView();
dv.Table = ds.Tables["table0"];
dataGrid1.SetDataBinding(dv,"table0")//DataView作为DataGrid的数据源
dv.AllowDelete = true;//允许删除
//dv.AllowEdit = true;//允许编辑
//dv.AllowNew = true;//允许添加新行
dv.RowFilter = "姓名 like '%3' and 姓名<> 'ddd3'";//筛选条件,SQL语法
dv.RowStateFilter = DataViewRowState.ModifiedCurrent;//原始数据的修改版本即当前版本
//dv.Sort = "姓名 desc";//根据字段名1 逆序排列