在C#winform开辟过程中,我们需要把数据库中的资料显示到datagridview中,而且把这些抓取都得数据做为根基数据进行进一步的处置,也就是在datagridview中插手新的栏位,下面,我们就来实现这个功能。
在vs的form页面上添加一个datagridview控件,这里把布景颜色设为白色。
手动设datagridview各个列的名称,按本身的需要去手动添加,这里不要选择从数据库获取资料。
编写查询语句,我这里是把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();
}
运行查看成果,发现功能是实现了,可是成果分前后两次显示了,这个不是我们想要的成果。
经由过程代码封闭多余的部门,也就是让其不显示:
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;
再次运行,功能完全实现:数据库查询到的值显示到datagridview的对应位置;反复显示的项目被封闭,不再显示。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!