我必须达到这样的目标(请查看附带的ScreenShot)。我想到的最好的解决方案是private void button1_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("//Your Query//");
//SqlCommand cmd = new SqlCommand();
//cmd.CommandText = "GetSalesCrystalReport";
//cmd.CommandType = CommandType.StoredProcedure;
//cmd.Parameters.AddWithValue("@ReferenceNo", txtReferenceNo.Text);
DataTable dt1 = DataManager.GetDataTable(cmd);
Sales objRpt3 = new Sales();
objRpt3.SetDataSource(dt1);
objRpt3.PrintToPrinter(1, false, 0, 0);
}
。我在单元格上创建了圆形边框,并在单元格上放了一个按钮。现在,对于虚线直线,我将UICollectionView
与CAShapeLayer
一起使用,并将该图层添加到我的BezierPath
。问题来了,我没有看到任何虚线。这是我尝试过的。现在我有几个问题。在回答时请将我视为初学者。
1)为什么我的线条没有显示 2)如何计算两个单元格之间的宽度,现在我正在设置一个随机数 3)是否有任何其他方法可以更有效地解决此用例。
collectionview background with background color set to clear color
答案 0 :(得分:10)
您好使用$preparedStatement->fetchColumn();
并绘制函数。
在路径https://github.com/arunpkumar92/OrderStatusCollectionView
上传的代码UICollectionViewLayout
答案 1 :(得分:3)
为什么我的线条没有显示。
要让您的绘图可见,您必须将绘图代码直接添加到distance
实例,而不是添加到UICollectionView
属性。
backgroundView
这100%有效。使用[self.milestoneCollection.layer addSublayer:shapelayer];
似乎是正确的做法,但他们可能会将其用于完全不同的东西。我怀疑backgroundView
目前不可见(使用默认配置)或完全忽略我们的更改请求。
如何计算两个单元格之间的宽度,现在我正在设置一个随机数。
backgroundView
-(void)getLineStartPoint:(CGPoint*)startPoint
andEndPoint:(CGPoint*)endPoint
fromCellAtIndexPath:(NSIndexPath*)fromIndexPath
toCellAtIndexPath:(NSIndexPath*)toIndexPath
{
UICollectionViewLayoutAttributes* fromAttributes =
[self.milestoneCollection layoutAttributesForItemAtIndexPath:fromIndexPath];
UICollectionViewLayoutAttributes* toAttributes =
[self.milestoneCollection layoutAttributesForItemAtIndexPath:toIndexPath];
*startPoint = fromAttributes.center;
*endPoint = toAttributes.center;
}
在特定UICollectionViewLayoutAttributes
处有关于cells, headers, footers, decorationViews
的几何信息的100%功能丰富。为简单起见,我现在使用indexPath
。我相信你需要在center
属性中使用你的逻辑。
是否有其他方法可以更有效地解决此用例。
是的,总有两种方式。
当然 RIGHT 根据可用的情况和时间而有所不同。
小心frame
可用性,否则很容易崩溃。这是最简单的守卫形式 -
indexPath
此外,当您尝试滚动它(如果需要)时,会添加图层/路径 每次你创建一个单元格(这会导致黑暗的虚线由于 多次添加层次结构),你需要小心 当重用细胞时看看这个: -
那应该回答你所有的问题。最好的运气!!