在C#winform开发过程中,我们需要把数据库中的资料显示到datagridview中,并且把这些抓取都得数据做为基本数据进行进一步的处理,也就是在datagridview中加入新的栏位,下面,我们就来实现这个功能。
工具/原料
电脑VS软件
方法/步骤
1、在vs的form页面上添加一个datagridview控件,这里把背景颜色设为白色。
2、手动设datagridview各个列的名称,按自己的需要去手动添加,这里不要选择从数据库获取资料。
3、编写查询语句,我这里是把SQL写在了一个show_date函数中:priv瞢铍库祢atevoidsh泠贾高框ow_data(DataGridViewDG){SqlCommandcmd=newSqlCommand("selectship_no,c_name,ship_date,p_no,p_name,p_spc1,p_qty,s_price,add_price,p_kgfromtshipwhereship_no='"+textBox1.Text+"'",login.share_cls.conn);SqlDataAdapterdpt=newSqlDataAdapter(cmd);DataSetds=newDataSet();//DataTabledt=newDataTable();dpt.Fill(ds);DataTabledtb=ds.Tables[0];//DataGridViewTextBoxColumnmg=newDataGridViewTextBoxColumn();//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、运行查看结果,发现功能是实现了,但是结果分前后两次显示了,这个不是我们想要的结果。
5、通过代码关闭多余的部分,也就是让其不显示:隋茚粟胫this.dataGridView1.Columns["ship_no&q锇栀劐箨uot;].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、再次运行,功能完全实现:数据库查询到的值显示到datagridview的对应位置;重复显示的项目被关闭,不再显示。