/// <summary> /// 初始化 正方形的宫格. /// </summary> /// <param name="result"></param> protected void InitSquareBox(ItemMaster result) { // 每个宫的 长宽. int boxSize = sizeOfArray / 3; // 处理宫格. for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { ItemGroup itemGroup = new ItemGroup() { // 名称. GroupName = String.Format("第{0}/{1}宫", i, j), // 固定数据列表. FixItemList = result.FixItemList.Where( p => p.X >= i * boxSize && p.X < (i + 1) * boxSize && p.Y >= j * boxSize && p.Y < (j + 1) * boxSize).ToList(), // 动态数据列表. DynamicsItemList = result.DynamicsItemList.Where( p => p.X >= i * boxSize && p.X < (i + 1) * boxSize && p.Y >= j * boxSize && p.Y < (j + 1) * boxSize).ToList(), }; // 加入数据组. result.ItemGroupList.Add(itemGroup); } } }
/// <summary> /// 初始化 长方形的宫格. /// </summary> /// <param name="result"></param> /// <param name="boxWidth"></param> /// <param name="boxHeight"></param> protected void InitRectangleBox(ItemMaster result, int boxWidth, int boxHeight) { // 处理宫格. for (int i = 0; i < this.sizeOfArray / boxWidth; i++) { for (int j = 0; j < this.sizeOfArray / boxHeight; j++) { ItemGroup itemGroup = new ItemGroup() { // 名称. GroupName = String.Format("第{0}/{1}宫", i, j), // 固定数据列表. FixItemList = result.FixItemList.Where( p => p.X >= i * boxWidth && p.X < (i + 1) * boxWidth && p.Y >= j * boxHeight && p.Y < (j + 1) * boxHeight).ToList(), // 动态数据列表. DynamicsItemList = result.DynamicsItemList.Where( p => p.X >= i * boxWidth && p.X < (i + 1) * boxWidth && p.Y >= j * boxHeight && p.Y < (j + 1) * boxHeight).ToList(), }; // 加入数据组. result.ItemGroupList.Add(itemGroup); } } }
/// <summary> /// 初始化 行分组数据. /// </summary> /// <param name="result"></param> protected void InitRow(ItemMaster result) { for (int i = 0; i < sizeOfArray; i++) { ItemGroup itemGroup = new ItemGroup() { // 名称. GroupName = String.Format("第{0}行", i), // 固定数据列表. FixItemList = result.FixItemList.Where(p => p.Y == i).ToList(), // 动态数据列表. DynamicsItemList = result.DynamicsItemList.Where(p => p.Y == i).ToList(), }; // 加入数据组. result.ItemGroupList.Add(itemGroup); } }
/// <summary> /// 初始化 对角线分组. /// </summary> /// <param name="result"></param> protected void InitDiagonal(ItemMaster result) { ItemGroup itemGroup = new ItemGroup() { // 名称. GroupName = String.Format("对角线(x=y)"), // 固定数据列表. FixItemList = result.FixItemList.Where(p => p.X == p.Y).ToList(), // 动态数据列表. DynamicsItemList = result.DynamicsItemList.Where(p => p.X == p.Y).ToList(), }; // 加入数据组. result.ItemGroupList.Add(itemGroup); ItemGroup itemGroup2 = new ItemGroup() { // 名称. GroupName = String.Format("对角线(x=Size-y)"), // 固定数据列表. FixItemList = result.FixItemList.Where(p => p.X == sizeOfArray - p.Y).ToList(), // 动态数据列表. DynamicsItemList = result.DynamicsItemList.Where(p => p.X == sizeOfArray - p.Y).ToList(), }; // 加入数据组. result.ItemGroupList.Add(itemGroup2); }