1.How can I put a combobox in a column of a datagrid?
http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q480q
2.可以在datagrid的数据源上加入一行作为合计

解决方案 »

  1.   

    也可以在datagrid中做好统计,再在datagrid中加入一行
      

  2.   

    先计算统计好合计数据。然后在datagrid中加入一行,再把相关的数据填入就行了。
      

  3.   

    dataTB.Rows[0][0] = "合计";
    DataRow anyRow = dataTB.NewRow();
    anyRow[0] = System.DateTime.Now.ToShortDateString(); string anyrow = JSPJround(textBox1.Text,this.label3.Text);
    this.label5.Text = anyrow;
    if(this.checkBox1.Checked)
    {
    anyRow[1] = anyrow;
    dataTB.Rows[0][1] = double.Parse(this.dataGrid1[0,1].ToString()) + double.Parse(anyrow);
    }
    if(this.checkBox2.Checked)
    {
    anyRow[2] = anyrow; 
    dataTB.Rows[0][2] = double.Parse(this.dataGrid1[0,2].ToString()) + double.Parse(anyrow);
    }
    if(this.checkBox3.Checked)
    {
    anyRow[3] = anyrow;
    dataTB.Rows[0][3] = double.Parse(this.dataGrid1[0,3].ToString()) + double.Parse(anyrow);
    }
    if(this.checkBox4.Checked)
    {
    anyRow[4] = anyrow;
    dataTB.Rows[0][4] = double.Parse(this.dataGrid1[0,4].ToString()) + double.Parse(anyrow);
    }
    if(this.checkBox5.Checked)
    {
    anyRow[5] = anyrow;
    dataTB.Rows[0][5] = double.Parse(this.dataGrid1[0,5].ToString()) + double.Parse(anyrow);
    }
    if(this.checkBox6.Checked)
    {
    anyRow[6] = anyrow;
    dataTB.Rows[0][6] = double.Parse(this.dataGrid1[0,6].ToString()) + double.Parse(anyrow);
    }
    if(this.textBox1.Text!="")
    {
    anyRow[7] = anyrow;
    dataTB.Rows[0][7] = double.Parse(this.dataGrid1[0,7].ToString()) + double.Parse(this.textBox1.Text);
    // anyRow[7] = double.Parse(this.textBox1.Text).ToString("F2");
    // dataTB.Rows[0][7] = double.Parse(this.dataGrid1[0,7].ToString()) + double.Parse(anyRow[1].ToString());
    }
    dataTB.Rows.Add(anyRow);
      

  4.   

    用第3方控件
    DevExpress.XtraGrid
    偶发给你,注册的
      

  5.   

    你所做的统计是否要保存?如果是的话,你可以在数据库中多加一个字段,用来保存你的统计后数据,每次要统计更新时,可以利用数据库中的index,这样的话效果会比你在datagrid中加一列要好,因为可以省去每次加载datagrid时的重复计算