最近做了一个C/s系统,功能是统计月工资,其中有个datagirdview非常麻烦,想提问几个问题,
首先我想自定义一列,然后列的名称是数据库中的一个表的一条记录的一个值,比如表A中有记录
1 伙食费 200
2 交通费 150
我想把伙食费 跟 交通费当作datagridview的一个自定义列名,请问该如何实现,还有我想加1自定义列,列的值为这条记录中的cells[5],cells[6]的和,请问该如何去做?
首先我想自定义一列,然后列的名称是数据库中的一个表的一条记录的一个值,比如表A中有记录
1 伙食费 200
2 交通费 150
我想把伙食费 跟 交通费当作datagridview的一个自定义列名,请问该如何实现,还有我想加1自定义列,列的值为这条记录中的cells[5],cells[6]的和,请问该如何去做?
{
InitializeComponent();
InitializeDataGrid(); //自定义datagirdview列的样式函数
}
InitializeDataGrid()函数的内容private void InitializeDataGrid()
{
DataGridViewTextBoxColumn HSFColumn = new DataGridViewTextBoxColumn();
ZMCColumn.Name = "hsf";
ZMCColumn.HeaderText = "伙食费";
ZMCColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; DataGridViewTextBoxColumn JTFColumn = new DataGridViewTextBoxColumn();
LTGGDZHSColumn.Name = "jtf";
LTGGDZHSColumn.HeaderText = "交通费";
LTGGDZHSColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; datagird.Columns.AddRange(new DataGridViewColumn[] { HSFColumn, JTFColumn });
}列的HeaderText的值,可以之前通过你的数据库获得定义后赋值的方法是:
先处理自己要用的数据,把结果用下面方法添加进datagird
datagird.Rows.Add(new object[] { 第一列的值, 第二列的值, ...., 第N列的值 });
{
DataGridViewTextBoxColumn HSFColumn = new DataGridViewTextBoxColumn();
HSFColumn.Name = "hsf";
HSFColumn.HeaderText = "伙食费";
HSFColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; DataGridViewTextBoxColumn JTFColumn = new DataGridViewTextBoxColumn();
JTFColumn.Name = "jtf";
JTFColumn.HeaderText = "交通费";
JTFColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; datagird.Columns.AddRange(new DataGridViewColumn[] { HSFColumn, JTFColumn });
}
我想问如何再写语句,动态的将表A里的东西绑定到datagridview!
我自己想了点思路,就是
string source = "pcdb.mdb";
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source;
string sql = "select * from 表B";
OleDbConnection conn = new OleDbConnection(conn);
OleDbDataAdapter sda = new OleDbDataAdapter(sql,conn);
DataSet ds = new DataSet();
sda.Fill(ds,"ryzl");
DataTable dt = new DataTable();
dt = ds.Tables["ryzl"];
DataRow dr;
dt.Columns.Add(new DataColumn());这里面就该添加列名了,列名对应的就是表A中的伙食费等等,但是我没思路了~!