c# winform中listview的item点击事件

在窗口的左面有一个listview控件,里面的内容是连接到数据库中的。比如显示的是姓名。点击任一个时,在右面的textbox中显示其完整信息~~求大神指点... 在窗口的左面有一个listview控件,里面的内容是连接到数据库中的。比如显示的是姓名。点击任一个时,在右面的textbox中显示其完整信息~~求大神指点 展开
 我来答
台灣人到此一遊
推荐于2017-10-08
知道答主
回答量:3
采纳率:0%
帮助的人:2.5万
展开全部

基本上,要显示数据库的资料应该用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();//用来读取资料

字数太多,我分次回答。但是你得要继续追问我,我才能继续回答....

为啥啊不能重名
2014-10-27 · TA获得超过459个赞
知道小有建树答主
回答量:889
采纳率:0%
帮助的人:320万
展开全部
forcechanged 事件 读force的value 用value去数据库查对应的值 显示给textbox的value赋值 刷新画面
追问
我刚刚接触,还不是很清楚~~你的意思是,把“姓名”作为force的value值,当点击时利用其去查询数据库吗?我看了一下,c# listview中没有forcechanged事件呀
追答
我用的devexpress的listview~ 你用原版的可能没有这个事件~不同的事件e能给你传回的值不一样~你找一个能回传焦点的响应事件~把焦点值读出来当做特征值去读相应的数据 然后显示在text里面就好了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式