查找需要多少数据网格行/列

本文关键字:网格 数据网 数据 多少 查找 | 更新日期: 2023-09-27 18:12:18

我得到了一个分配,我必须从文件中读取文本并将数字提取到DataGrid,所以我的问题是如何知道我需要多少行或/和列DataGrid看起来很好,并填充数字。

如果我有9个数字,网格应该是3x3,或者如果我有18 -> 6x3等等。

数字的数量可以从1到9999999(一个很多)。

我正在考虑这样做:

int x, i, j;   //x-amount of numbers,i-rows,j-columns
while (i * j < a)
{
     if (a % 2 == 0)
       {
         i++;
         j++;
       }
}

依此类推,在我所能想到的各种情况下,最终所有的网格要么是半空的,要么完全破碎,像1x17一样无法使用。

查找需要多少数据网格行/列

  1. 检查数字是否为素数。它不能是质数

  2. 检查该数字是否能被2 - 20之间的任何数字整除。假设数字是2378,我们看到2378 = 2*1189。通常,行数总是大于列数。As列表示字段名。所以,你有1189行和2列。从20开始,因为我们想要显示最多的列数。

    现在,假设你有8645,8645 = 455 * 19,8645 = 1235 * 7。因此,我们选择455 * 19 =>455行,19列

  3. 现在,你必须注意屏幕分辨率。这是一个棘手的部分。但无论如何,20列在任何分辨率下看起来都是合理的。使用SystemParameters.FullPrimaryScreenWidth来帮助你。