Windows窗体中的Listview不是Rebind。旧数据显示在列表视图中。 [英] Listview in Windows form is not Rebind. old data is display in list view.

查看:72
本文介绍了Windows窗体中的Listview不是Rebind。旧数据显示在列表视图中。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了两个win表单,一个是frmdatalist,另一个是userlogin。在我的第一个表单中,我有一个列表视图,其中包含一个listview控件。显示用户数据,当用户登录时,第二个表单打开,此用户数据添加到DB中。在userlogin表单上单击确定后,此表单为close并且binddatalist函数调用。但是在第一个表单的列表视图中显示的问题只显示旧数据而不是新数据。任何人都可以知道如何重新绑定列表视图控件请帮帮我..其紧急。非常感谢你提前。 :)





我的数据库代码...



I created Two win form one is frmdatalist and other is userlogin. In my first form i have one list view which contain one listview control. display for user data and when user login the second form is open and this user data is added in DB. after click ok on userlogin form this form is close and binddatalist function call. but problem display in listview of first form show only old data not new one. Can any one know how to rebind list view control please help me.. Its urgent. Thank you so much in advance. :)


My datafrmlist code...

public void BindActData()
            {

            //ListView listView1 = new ListView();
            listView1.Clear();
            listView1.Items.Clear();
            listView1.Bounds = new Rectangle(new Point(10, 10), new Size(300, 400));
            // Set the view to show details.
            listView1.View = View.LargeIcon;
            listView1.AllowColumnReorder = true;
            listView1.CheckBoxes = false;
            listView1.Sorting = SortOrder.Ascending;
            listView1.Dock = DockStyle.Fill;
            listView1.BorderStyle = BorderStyle.None;
            DataSet dsgetactivdata = new DataSet();
            Surfwayservices getdata = new Surfwayservices();
            dsgetactivdata = getdata.getActiveData();
            DataTable dtable = dsgetactivdata.Tables[0];

            ImageList imageListSmall = new ImageList();
            ImageList imageListLarge = new ImageList();
            // Display items in the ListView control


            for (int i = 0; i < dtable.Rows.Count; i++)
                {
                //ListViewItem item1 = new ListViewItem("item1", 0);

                DataRow drow = dtable.Rows[i];
                imageListSmall.Images.Add(Bitmap.FromFile(System.Environment.CurrentDirectory + "\\Image\\" + dtable.Rows[i]["Billedet"].ToString()));
                imageListLarge.Images.Add(Bitmap.FromFile(System.Environment.CurrentDirectory + "\\Image\\" + dtable.Rows[i]["Billedet"].ToString()));
                string data = dtable.Rows[i]["FullName"].ToString() + Environment.NewLine + dtable.Rows[i]["Stilling"].ToString() + Environment.NewLine + dtable.Rows[i]["ActualTime"].ToString() + "\n" + dtable.Rows[i]["LoggedIn"].ToString();
                ListViewItem lvi = new ListViewItem(data, i);
                listView1.Items.Add(lvi);
               
                //listView1.Items.Add(lvi2);

                }
            //Assign the ImageList objects to the ListView.
            imageListLarge.ColorDepth = ColorDepth.Depth32Bit;
            imageListSmall.ColorDepth = ColorDepth.Depth32Bit;
            listView1.LargeImageList = imageListLarge;
            listView1.SmallImageList = imageListSmall;
            imageListLarge.ImageSize = new Size(70, 70);
            // Add the ListView to the control collection. 
            listView1.Refresh();
            //panel3.Controls.Add(listView1);
            //this.Controls.Add(listView1);

         
            }







我的第二个表格代码:
< br $> b $ b






My second form code:



private void bt<pre lang="c#">n_login_ok_Click(object sender, EventArgs e)
        {
        this.Hide();
        //
        //frmdatatlist.Dispose();
        frmDataList frm = new frmDataList();
        frm.BindActData();
        }

推荐答案

试试这个.. :)



在Windows窗体应用程序中使用ListView控件 [ ^ ]
try this.. :)

Using ListView Control in Windows Form Application[^]


添加一种语法
listview1.clear()

;在第二个表单后显示


这篇关于Windows窗体中的Listview不是Rebind。旧数据显示在列表视图中。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆