c# winform中listview的item点击事件
在窗口的左面有一个listview控件,里面的内容是连接到数据库中的。比如显示的是姓名。点击任一个时,在右面的textbox中显示其完整信息~~求大神指点...
在窗口的左面有一个listview控件,里面的内容是连接到数据库中的。比如显示的是姓名。点击任一个时,在右面的textbox中显示其完整信息~~求大神指点
展开
2个回答
展开全部
基本上,要显示数据库的资料应该用DataGridView比ListView来的好。
不过你用的是ListView,所以我还是讲ListView。
~ListView设定建议~
建议你把ListView的检视模式设为details
然後把ListView.FullRowSelect属性设为true
因为你要一次选中所有行,然後把每个行的值显示到对应的Textbox
~代码设定~
假设ListView的名字为lv,然後有以下这三个项目,他们在ListView中从左到右的排序为:
名字、年龄、性别
接著,他们各自对应的Textbox名字为:
txtName, txtAge, txtSex
~开始撰写代码~
你要把代码写在ListView的lClick事件裏头。
代码是这样写的:
private void lv_Click(object sender, EventArgs e)//lv的Click事件。
{
int selectCount = lv.SelectedItems.Count; //SelectedItems.Count就是:取得值,表示SelectedItems集合的物件数目。
if (selectCount > 0)//若selectCount大於0,说明用户有选中某列。
{
txtName.Text = lv.SelectedItems[0].SubItems[0].Text;
txtAge.Text = lv.SelectedItems[0].SubItems[1].Text;
txtSex.Text = lv.SelectedItems[0].SubItems[2].Text;
}
}
如果有问题在问我!
如果我答得出来就回答你!
追问
我在查询时把所有信息都查询出来了,但是只显示姓名。按照你的方法把listview控件设置了view属性和ListView.FullRowSelect=true,确不能显示数据了~~
追答
您好,要在ListView添数据然後显示到该控件上可能比较麻烦,每个检视模式的ListView或许都有不同的方法。我就把代码贴给你看吧!
//引入此命名空间,这样才能够使用一些我们需要的类别、属性等
using System.Data.SqlClient;
//先宣告这三个全局的变数,用来存放数据库的资料,并显示到lv上
string name = "", sex = "";
int age = 0;
//在宣告这个全局的方法
private void userInfo()
{
lv.Items.Clear();//将ListView中的项目清空
sqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=user;User ID=sa;"); //造一个sqlConnection。里头写的就是要连接的对象
string sql = "SELECT * FROM user";//宣告一个Sql指令
SqlCommand cmd = new SqlCommand(sql, SqlConnection);//执行指令
connection.Open();//打开连接
SqlDataReader reader = cmd.ExecuteReader();//用来读取资料
字数太多,我分次回答。但是你得要继续追问我,我才能继续回答....
展开全部
forcechanged 事件 读force的value 用value去数据库查对应的值 显示给textbox的value赋值 刷新画面
追问
我刚刚接触,还不是很清楚~~你的意思是,把“姓名”作为force的value值,当点击时利用其去查询数据库吗?我看了一下,c# listview中没有forcechanged事件呀
追答
我用的devexpress的listview~ 你用原版的可能没有这个事件~不同的事件e能给你传回的值不一样~你找一个能回传焦点的响应事件~把焦点值读出来当做特征值去读相应的数据 然后显示在text里面就好了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询