0

我需要在预打印表单的两侧从 DataGridView 打印数据,但是:

  1. 每一方对该信息都有不同的安排。
  2. 每边只能保存来自树行的信息,所以:
  3. 第 1、第 2 和第 3 排在第 1 侧;
  4. 第 4、第 5 和第 6 行在第 2 侧;
  5. 第 7、8、9 行在 1 侧;
  6. 第 10、11 和 12 号在第 2 侧;等等。

我将选择要打印的组。

我打算这样做: 在此处输入图像描述

  1. ((row.Index) +1) / 3,
  2. 四舍五入,没有小数,得到一个整数,(如上面的excel图像),
  3. 将该整数乘以 2,(如上面的 excel 图像)。

如果那个MOD乘2的结果是1,那么它会打印Side 1排列,如果那个MOD乘2的结果是0,那么它就会打印Side 2排列。

  • 我如何在 C# 中做到这一点?我正在使用 VS2010 速成版。此外,我想使用 System.Math.Ceiling,但我收到命名空间、十进制、双精度和浮点数警告或错误。
4

1 回答 1

6

我认为您不需要使用类似的东西:

int zeroBasedRow = row - 1;
int side = ((zeroBasedRow / 3) % 2) + 1;

测试代码:

using System;

class Test
{
    static void Main(string[] args)
    {
        for (int row = 1; row <= 12; row++)
        {
            int zeroBasedRow = row - 1;
            int side = ((zeroBasedRow / 3) % 2) + 1;
            Console.WriteLine("Row {0} goes on side {1}", row, side);
        }
    }
}

输出:

Row 1 goes on side 1
Row 2 goes on side 1
Row 3 goes on side 1
Row 4 goes on side 2
Row 5 goes on side 2
Row 6 goes on side 2
Row 7 goes on side 1
Row 8 goes on side 1
Row 9 goes on side 1
Row 10 goes on side 2
Row 11 goes on side 2
Row 12 goes on side 2
于 2011-09-08T21:29:30.827 回答