C#查找需要多少Datagrid行/列

时间:2016-10-09 14:12:35

标签: c# wpf datagrid cell rows

我有一项任务,我必须从文件中读取文本并将数字提取到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 个答案:

答案 0 :(得分:-1)

  1. 检查号码是否为素数。它不能是素数。

  2. 检查这个数字是否可以被2到20之间的任何数字整除。因此,假设数字是2378,我们看到2378 = 2 * 1189。通常,行计数始终大于列。列表示字段名称。所以,你有1189行和2列。从20向后开始,因为我们需要显示屏中的最大列。

    现在,假设您有8645,8645 = 455 * 19,还有8645 = 1235 * 7.因此,我们选择455 * 19 =&gt; 455行,19列。

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