datagridview 其中某一列
如下:数量
100克
3千克
899千克
0.87吨
500克
46千克这只是列的部分数据.请问怎么在最后一行加个 合计多少(千克)!人人有分.谢谢帮助.

解决方案 »

  1.   

    这个不是应该在SQL中处理吗??
    SELECT SUM(数量)数量 FROM TB
    然后绑定DATAGRIDVIE赋给那个列就好了!!
      

  2.   


    不在sql里面处理.想在datagridview里面处理
    关键是涉及到的单位换算.
    这个最难处理.继续上去!!
      

  3.   

    如果某一列是纯数字
    int a=0;
    for (int i=0;i<6;i++)
    {
    a+=Convert.ToInt32( Datagridview1.Rows[i].Cells["某一列"].Value.Tostring());
    }合计=a
      

  4.   

    select id ,sum(weight) from table group by id
      

  5.   

    你在sql里把单位全部转换好,再输出就好办了。不要输出之后再转换,
      

  6.   

    想过这样做的.但是datagirdview 要显示未转换的数据.
      

  7.   

    首先一点,数据定义不规范。一个列的数据按照道理应该是一个单位,不应该出现数据单位不同的问题。实在不行只能够做个转换:
    private void button8_Click(object sender, EventArgs e)
            {
                double total = 0;
                
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    total += ConvertUnit(dataGridView1[1, i].Value.ToString());
                MessageBox.Show(total.ToString());
            }
            private float ConvertUnit(string input)
            {
                string number="";
                float multiplier = 0;
                if (input.IndexOf("吨"))
                {
                    number = input.Replace("吨", "");
                    multiplier = 1000;
                }
                else if (input.IndexOf("千克"))
                {
                    number = input.Replace("千克", "");
                    multiplier = 1;
                }
                else if (input.IndexOf("克"))
                {
                    number = input.Replace("克", "");
                    multiplier = 0.001;
                }
                else
                    throw new Exception("Unit not found");            try
                {
                    float returnValue = Convert.ToSingle(number) * multiplier;
                }
                catch
                {
                    throw new Exception("Error Number");
                }
            }
      

  8.   


    private float ConvertUnit(string input)
            {
                string number="";
                float multiplier = 0;
                if (input.IndexOf("吨"))
                {
                    number = input.Replace("吨", "");
                    multiplier = 1000;
                }
                else if (input.IndexOf("千克"))
                {
                    number = input.Replace("千克", "");
                    multiplier = 1;
                }
                else if (input.IndexOf("克"))
                {
                    number = input.Replace("克", "");
                    multiplier = 0.001;
                }
                else
                    throw new Exception("Unit not found");            try
                {
                    float returnValue = Convert.ToSingle(number) * multiplier;
                    return returnValue;
                }
                catch
                {
                    throw new Exception("Error Number");
                }
            }
      

  9.   


            private float ConvertUnit(string input)
            {
                string number="";
                float multiplier = 0;
                if (input.IndexOf("吨")!=-1)
                {
                    number = input.Replace("吨", "");
                    multiplier = 1000;
                }
                else if (input.IndexOf("千克")!=-1)
                {
                    number = input.Replace("千克", "");
                    multiplier = 1;
                }
                else if (input.IndexOf("克")!=-1)
                {
                    number = input.Replace("克", "");
                    multiplier = 0.001f;
                }
                else
                    throw new Exception("Unit not found");            try
                {
                    float returnValue = Convert.ToSingle(number) * multiplier;
                    return returnValue;
                }
                catch
                {
                    throw new Exception("Error Number");
                }
            }
    前面没有VS2005,直接在NOTPAD上写的