当前位置:网站首页 > 创业 > 正文

C#查询出来的结果放到datagridview指定的列中

0 张子豪 张子豪 2025-10-12 07:38 1

在C#winform开辟过程中,我们需要把数据库中的资料显示到datagridview中,而且把这些抓取都得数据做为根基数据进行进一步的处置,也就是在datagridview中插手新的栏位,下面,我们就来实现这个功能。

东西/原料

  • 电脑 VS软件

方式/步调

  1. 1

    在vs的form页面上添加一个datagridview控件,这里把布景颜色设为白色。

  2. 2

    手动设datagridview各个列的名称,按本身的需要去手动添加,这里不要选择从数据库获取资料。

  3. 3

    编写查询语句,我这里是把SQL写在了一个show_date函数中:

        private void show_data(DataGridView DG)

            {

                SqlCommand cmd = new SqlCommand("select ship_no,c_name,ship_date,p_no,p_name,p_spc1,p_qty,s_price,add_price,p_kg from tship where ship_no='" + textBox1.Text + "'", login.share_cls.conn);

                SqlDataAdapter dpt = new SqlDataAdapter(cmd);

                DataSet ds = new DataSet();

                //DataTable dt = new DataTable();

                dpt.Fill(ds);

                DataTable dtb = ds.Tables[0];

                //DataGridViewTextBoxColumn mg = new DataGridViewTextBoxColumn();

                //DG.Columns.Add(mg);

                DG.DataSource = dtb;

                this.dataGridView1.AutoGenerateColumns = false;

                this.dataGridView1.Columns["Column1"].DataPropertyName = dtb.Columns["ship_no"].ToString();

                this.dataGridView1.Columns["Column2"].DataPropertyName = dtb.Columns["c_name"].ToString();

                this.dataGridView1.Columns["Column3"].DataPropertyName = dtb.Columns["ship_date"].ToString();

                this.dataGridView1.Columns["Column4"].DataPropertyName = dtb.Columns["p_no"].ToString();

                this.dataGridView1.Columns["Column5"].DataPropertyName = dtb.Columns["p_name"].ToString();

                this.dataGridView1.Columns["Column6"].DataPropertyName = dtb.Columns["p_spc1"].ToString();

                this.dataGridView1.Columns["Column7"].DataPropertyName = dtb.Columns["s_price"].ToString();

                this.dataGridView1.Columns["Column8"].DataPropertyName = dtb.Columns["add_price"].ToString();

                this.dataGridView1.Columns["Column9"].DataPropertyName = dtb.Columns["p_kg"].ToString();

            }

  4. 4

    运行查看成果,发现功能是实现了,可是成果分前后两次显示了,这个不是我们想要的成果。

  5. 5

    经由过程代码封闭多余的部门,也就是让其不显示:

                this.dataGridView1.Columns["ship_no"].Visible = false;

                this.dataGridView1.Columns["c_name"].Visible = false;

                this.dataGridView1.Columns["ship_date"].Visible = false;

                this.dataGridView1.Columns["p_no"].Visible = false;

                this.dataGridView1.Columns["p_name"].Visible = false;

                this.dataGridView1.Columns["p_spc1"].Visible = false;

                this.dataGridView1.Columns["p_qty"].Visible = false;

                this.dataGridView1.Columns["s_price"].Visible = false;

                this.dataGridView1.Columns["add_price"].Visible = false;

                this.dataGridView1.Columns["p_kg"].Visible = false;

  6. 6

    再次运行,功能完全实现:数据库查询到的值显示到datagridview的对应位置;反复显示的项目被封闭,不再显示。

注重事项

  • 代码亲测经由过程,若是不克不及实现,可以留言会商哦。

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/238911.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图