本帖最后由 jackyqin1984 于 2012-06-04 14:23:18 编辑

解决方案 »

  1.   

    那就看你是要循环数据表,还是循环控件数据了
    首先对B表进行合计生成临时新表
    循环A表
    嵌套循环新表进行对比
    结果对A表状态设置
    ---------------
    循环B表进行合计
    合计后作为条件循环A表对比后设置A表有多种方法,这个看个人风格不定
      

  2.   

    DataTable 提示 = 数据源.提示;
    //ArrayList 内容
    foreach (DataRow 数据 in 提示.Rows)
    {
         for (int 列 = 0; 列 < 内容.Count; 列++)
             {
               ------------
             }//下面设计相隔天数
                    
    }
      

  3.   

    你要是连基础都不会那就去找资料学习哦
    http://blog.csdn.net/xianfajushi/article/details/7550084
    上面的也是我最近新学的,改成自己需要实现目的的,递归循环判断。
    自己学去
      

  4.   

    foreach (DataRow 加节点 in 数据)
    {
        for (int 续 = 0; 续 < 列集.Count; 续++)//无极树大功告成...
        { if (..) { ... }
        ...
    }
      

  5.   

    你是怎么构思来实现的?难道脑中没有执行步骤?
    1、循环A表读第一行数据
    2、嵌套循环B表全部数据行与A表的第一行数据进行比较,条件相等则取数据进行减法
    3、检查减后剩余数值
    4、判断剩余数值,大于需求数就在A表的状态列标上YES,小于需求数就标上NO!
    直到A表循环完毕,按照这样的步骤去写代码,难道不是?
    代码都是自己去写的,是不?
    int 剩余值=0;
    foreach (DataRow 数据1 in A.Rows)
    {
       foreach (DataRow 数据2 in B.Rows)
       {
        if(数据2[0]==数据1[0]&&数据2[1]==数据1[1]&&数据2[2]==数据1[2])
         剩余值=数据1[3]-数据2[3]
       }
        if(剩余值>?)dataGridView.某列.状态=真;else.... 
    }
    http://blog.csdn.net/xianfajushi/article/details/7591330
    http://blog.csdn.net/xianfajushi/article/details/7532771
      

  6.   

    经一高人指点,其实只要改下SQL语句就可以了,不用做循环那么麻烦,
    直接查询出来就可以了,
    我帖出来是想让日后刚好有急需要的兄弟看到,能让你参考一下,
    大道理不多说,只希望能帮助有需要的人,我是个刚刚入门的新手,
    也希望日后我有难题的时候也能看到的会是一些例子,谢谢大家的帮助!select 编码,单号,款号,需求数,(case when 需求数 >=(select sum(出库数) from 表B where 编码=表A.编码 and 单号=表A.单号 and 款号=表A.款号) then 'yes' else 'no' end)'状态' from 表A
      

  7.   

    用循环我最终还是没有能力做出来,还是谢谢xianfajushi的帮助,谢谢
      

  8.   

    恭喜你学会一种方法,因为我没做计算的东西,所以,没例子马上给你,SQL又懒得去查了,呵呵。