C#如何将DataTable添加到TabPage控件

问题描述

我有一个访问数据库,并且像下面的代码一样,从那里获取数据到DataGridView。我从选项卡的控件中获取数据。如何将DataTable添加到选项卡的控件。我想这样做是因为从datagridview获取数据非常慢。

将数据添加到datagridview并将datagridview添加到选项卡页面的控件

        da = new OleDbDataAdapter("SELECT Robotlar FROM A_Robotlar",con);
        ds = new DataSet();
        con.open();
        da.Fill(ds,"A_Robotlar");            

        DataTable dt = ds.Tables["A_Robotlar"];
        int count = dt.Rows.Count;
        if (count > 0)
        {
            tabControl1.TabPages.Clear();

            for (int i = 0; i < count; i++)
            {
                da = new OleDbDataAdapter("SELECT *FROM " + dt.Rows[i][0].ToString(),con);
                ds = new DataSet();
                da.Fill(ds,dt.Rows[i][0].ToString());

                tabControl1.TabPages.Add(dt.Rows[i][0].ToString());
                tabControl1.TabPages[i].Controls.Add(new DataGridView()
                {
                    Name = "grid_" + dt.Rows[i][0].ToString(),Dock = DockStyle.Fill,AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill,RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.disableResizing,ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize,AllowUserToResizeRows = false,AllowUserToResizeColumns = false,RowHeadersVisible = false,DataSource = ds.Tables[dt.Rows[i][0].ToString()]
                });

            }
        }

        con.Close();

从控件获取数据

            foreach (TabPage tbp in tabControl1.TabPages)
            {                    
                foreach (Control ctrl in tbp.Controls)
                {                        
                    if (ctrl is DataGridView)
                    {                            
                        DataGridView newDgv = ctrl as DataGridView;
                        
                        for (int i = 0; i < newDgv.Rows.Count-1; i++)
                        {
                            chroMetarayici.FindElement(By.ClassName("_3FRCZ")).SendKeys(newDgv.Rows[i].Cells[4].Value.ToString() + OpenQA.Selenium.Keys.Enter);
                            Thread.Sleep(50);

                            chroMetarayici.FindElement(By.ClassName("_3uMse")).SendKeys(tbp.Text + " " + Sinyal);
                            Thread.Sleep(100);

                            chroMetarayici.FindElement(By.ClassName("_3uMse")).SendKeys(OpenQA.Selenium.Keys.Enter);
                            Thread.Sleep(50);
                        }
                    }
                }
            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...