在上下机主界面的时候,因为上机时用不到下机时间,下机日期,消费金额和余额,而在下机的时候就要将这些信息显示出来。我用的是Datagridview控件,所以,为了不显示多余的信息,就让它在运行过程中可以自动生成列,这样将查询的数据直接放在自动生成列中,好像界面就清晰了些。
这是同一个Datagridview控件在上机和下机时的不同显示;
代码如下:
//动态显示datagridview列;将运行时要显示的列名在代码中表示
DataGridView dgv = new DataGridView();
dGview.Location = new Point(12, 262);
dgv.ColumnCount = 12;
dGview.Columns[0].HeaderText = "卡号";
dGview.Columns[1].HeaderText = "学号";
dGview.Columns[2].HeaderText = "姓名";
dGview.Columns[6].HeaderText = "上机时间";
dGview.Columns[7].HeaderText = "上机日期";
dGview.Columns[8].HeaderText = "下机日期";
dGview.Columns[9].HeaderText = "下机时间";
dGview.Columns[10].HeaderText = "消费金额";
dGview.Columns[11].HeaderText = "余额";
//不要自动生成列,只显示绑定的数据列;
dGview.AutoGenerateColumns = false;
//显示dgv的数据;
dGview.DataSource = faceofflist.Getoffline(modeoff);
还有一个问题是:
我是在下机时不生成(性别,系别和类型列),但是运行时,还是会出现这三列,这时就要将多余的列清除;
//清除多余的数据列;这里顺序是不能调换的,
dGview.Columns.Remove(dGview.Columns[5]);
dGview.Columns.Remove(dGview.Columns[4]);
dGview.Columns.Remove(dGview.Columns[3]);
this.Controls.Add(dGview);
现在回头看看,代码还是很简单的,只是需要去百度查,然后将这些要用到的信息拼接起来,得到自己想要的结果,重要的是这个过程!