ListView轉換爲二維數組
/// <summary>
/// 將ListView的數據導出到二維數組。
/// </summary>
/// <param name="listView">二維數據視圖</param>
/// <param name="includeColumnText">是否要把列標題文本也導到數組中。</param>
/// <remarks>
/// <作者>長江支流</作者>
/// <日期>2005-08-21</日期>
/// <修改></修改>
/// </remarks>
/// <returns>二維數組。</returns>
public string[,] ToStringArray(ListView listView,bool includeColumnText)
{
ListView lvw = listView;
int rowsCount = lvw.Items.Count;
int colsCount = lvw.Columns.Count;
//包括列標題
if (includeColumnText)
{
rowsCount++;
}
string[,] arrReturn = null;
arrReturn = new string[rowsCount,colsCount];
int i = 0;
if (includeColumnText)
{
//寫標題
for(i = 0 ; i < colsCount; i++)
{
arrReturn[0,i] = lvw.Columns[i].Text;
}
i = 1;
}
//寫數據行Items
int rowIndex = 0;
for(; i < rowsCount; i++,rowIndex++)
{
for (int j = 0; j < colsCount; j++)
{
arrReturn[i,j] = lvw.Items[rowIndex].SubItems[j].Text;
}
}
return arrReturn;
}
打印ListView:
private void btnPrintEasy_Click(object sender, System.EventArgs e)
{
MisGoldPrinter webmis = new MisGoldPrinter(); //打印組件
webmis.Title = "MIS金質打印通/nWWW.WebMIS.COM.CN"; //網格標題
webmis.DataSource = ToStringArray(listView,true); //任意二維的數據通通打印
webmis.Preview(); //打印預覽
}
VB.Net:
Private Sub btnPrintEasy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrintEasy.Click
Dim webmis As MisGoldPrinter '打印組件
webmis = New MisGoldPrinter
webmis.Title = "MIS金質打印通"+vbCrLf+"WWW.WebMIS.COM.CN" '網格標題
webmis.DataSource = ToStringArray(listView,true) '任意二維的數據通通打印
webmis.Preview() '打印預覽
End Sub