如何设置DataGridView的列汇总,如下:
我通过sql填充了一个dataset1,这个dataset1表里面有三个字段,字段1为"金额",字段2为"毛利",字段3为"毛利率",我向在dataset1里面再增加一列,
实现增加一列是比较简单,但是我是要在这一列里面进行字段2除以字段1的结果来填充,如下:
字段1 字段2 字段3 需要增加的字段
50 20 60% ?
60 30 60% ?
40 12 60% ?
合计 60 ?
就是以上的应该怎么实现,首先声明的是我不能在sql里面来处理最后一个字段,我要在程序里面来处理这个字段,
请提供详细代码!
在线等待,马上给分!
我通过sql填充了一个dataset1,这个dataset1表里面有三个字段,字段1为"金额",字段2为"毛利",字段3为"毛利率",我向在dataset1里面再增加一列,
实现增加一列是比较简单,但是我是要在这一列里面进行字段2除以字段1的结果来填充,如下:
字段1 字段2 字段3 需要增加的字段
50 20 60% ?
60 30 60% ?
40 12 60% ?
合计 60 ?
就是以上的应该怎么实现,首先声明的是我不能在sql里面来处理最后一个字段,我要在程序里面来处理这个字段,
请提供详细代码!
在线等待,马上给分!
dataGridView1.CellValueNeeded += new System.Windows.Forms.DataGridViewCellValueEventHandler(this.colAge_CellValueNeeded);
private void colAge_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{
if (e.ColumnIndex == ((DataGridView) sender).Columns["Age"].Index)
{
int age;
DataTable Employees = dataSetAdventureWorks.Tables["Employee"];
DateTime birthDate = (DateTime)Employees.DefaultView[e.RowIndex]["BirthDate"];
age = DateTime.Today.Year - birthDate.Year;
// Adjust down if hasn't had this year's birthday yet.
if (DateTime.Today.DayOfYear < birthDate.DayOfYear)
age--;
e.Value = age;
}
}
在循环中完成演算动作,再把datatable绑定到dataGridView1
select一列然后把这列的值循环导入一个变量(sqldataReader),这样每列都可以获得一个变量,
最后datagridview.Rows.add(所有变量)即可啊。
double[] disanlie=new double[总行数]; (第三列用的变量)
int i=0;下标
SqlCommand cmd = new SqlCommand("select 字段1,字段2 from 表名, con);
SqlDataReader sdr = cmd.ExecuteReader();
while(sdr.Read())
{
int di1=sdr.getInt32(0);//获得第一列的数
int di2=sdr.getInt32(1);//获得第二列的数
sisanlie[i]=di2/di1*100;//获得百分比(可能需要转换,但数字出来了)
i++;//下标加1
} 这样第三列的所有百分比就会在一个数组,然后加一列把数组的数放进去就行。
不知道看懂没呵呵
int i=0;下标
SqlCommand cmd = new SqlCommand("select 字段1,字段2 from 表名, con);
SqlDataReader sdr = cmd.ExecuteReader();
while(sdr.Read())
{
int di1=sdr.getInt32(0);//获得第一列的数
int di2=sdr.getInt32(1);//获得第二列的数
sisanlie[i]=di2/di1*100;//获得百分比(可能需要转换,但数字出来了)
i++;//下标加1
} //这样第三列的所有百分比就会在一个数组,然后加一列把数组的数放进去就行。
//不知道看懂没呵呵