如何设置循环以打印所有gridview单元格? [英] how to set the loop to print all the gridview cells?

查看:76
本文介绍了如何设置循环以打印所有gridview单元格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
       Dim ce = Assesment.d1.CurrentCell.RowIndex
       e.Graphics.DrawString(Assesment.d1.Item(Assesment.SLNo.HeaderText, ce).Value.ToString, SystemFonts.DefaultFont, Brushes.Black, 300, 200)

       Dim ce1 = Assesment.d1.CurrentCell.RowIndex
       e.Graphics.DrawString(Assesment.d1.Item(Assesment.JOBPARTICULARS.HeaderText, ce1).Value.ToString, SystemFonts.DefaultFont, Brushes.Black, 350, 200)
       'Dim ce2 = Assesment.d1.CurrentCell.RowIndex
       'e.Graphics.DrawString(Assesment.d1.Item(Assesment.PC.HeaderText, ce2).Value.ToString, SystemFonts.DefaultFont, Brushes.Black, 400, 200)


       'Dim ce3 = Assesment.d1.CurrentCell.RowIndex
       'e.Graphics.DrawString(Assesment.d1.Item(Assesment.AC.HeaderText, ce3).Value.ToString, SystemFonts.DefaultFont, Brushes.Black, 450, 200)
       'Dim ce4 = Assesment.d1.CurrentCell.RowIndex
       'e.Graphics.DrawString(Assesment.d1.Item(Assesment.Aa.HeaderText, ce4).Value.ToString, SystemFonts.DefaultFont, Brushes.Black, 500, 200)
   End Sub

推荐答案

首先,打印数据会更好用于填充控件,而不是控件。另请参阅PIEBALDconsult关于烘焙店的问题的评论。



无论如何,遍历所有细胞很简单。在外部循环中,遍历所有行:

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows%28v=vs.110%29.aspx [<一个href =https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows%28v=vs.110%29.aspx\"target =_ blanktitle =New Window > ^ ],

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection%28v=vs.110%29.aspx [ ^ ]。



当然,您可以使用行集合中的 foreach ,或者从0到0的整数循环 RowCount - 1



在内循环中,每一行,traverse以类似的方式出售:

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection.item%28v=vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow%28v=vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/system。 windows.forms.datagridviewrow.cells%28v = vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/system.windows.forms .datagridviewcellcollection(v = vs.110).aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/kh069k0k%28v=vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell%28v=vs.110%29.aspx [ ^ ] 。



最后,对于单元格,使用属性 ValueType

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.value(v = vs.110).aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.valuetype(v = vs.110).aspx [ ^ ]。



-SA
First of all, it would be better to print data used to populate the control, not control. See also the comment to the question by PIEBALDconsult, about the baking store.

Anyway, traversing all cells is simple. In outer loop, traverse all rows:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rows%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection%28v=vs.110%29.aspx[^].

Of course, you can use foreach with the row collection, or the integer loop from 0 to RowCount − 1.

In inner loop, for each row, traverse sells, in a similar way:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection.item%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.cells%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcellcollection(v=vs.110).aspx[^],
https://msdn.microsoft.com/en-us/library/kh069k0k%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell%28v=vs.110%29.aspx[^].

Finally, for a cell, use the properties Value and ValueType:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.value(v=vs.110).aspx[^],
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.valuetype(v=vs.110).aspx[^].

—SA


这篇关于如何设置循环以打印所有gridview单元格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆