В настоящее время я получаю пустую страницу, отображающую мой предварительный просмотр.Получение печати
Как я могу показать, какие данные у меня есть?
спасибо:
Вот что зовут его: он дозвонился его только, что никакие данных не показаны на черной странице предварительного просмотра
List<string[]> myList = new List<string[]>();
myList.Add(new string[] { "Column 1", "Column 2", "Column 3" });
myList.Add(new string[] { "Row 2", "Row 2" });
myList.Add(new string[] { "Row 3" });
printUtility.SetUpDocument("TEST", myList);
public class PrintUtility
{
public PrintDocument document;
public DataGridView dataGridView;
public PrintUtility()
{
document = new PrintDocument();
dataGridView = new DataGridView();
}
public void SetUpDocument(string title, List<string[]> myList)
{
document.DocumentName = title;
document.PrintPage += PrintPage;
// Convert to DataTable.
DataTable table = ConvertListToDataTable(myList);
this.dataGridView.DataSource = table;
document.DocumentName = title;
document.PrintPage += PrintPage;
}
public PrintDocument GetDocument()
{
return this.document;
}
public void PrintPage(object sender, PrintPageEventArgs e)
{
foreach (DataGridViewRow row in dataGridView.Rows)
foreach (DataGridViewCell cell in row.Cells)
{
e.Graphics.DrawString(cell.Value.ToString(), new Font(FontFamily.GenericSansSerif, 12.0F, FontStyle.Bold), Brushes.Black,
new Point(cell.ColumnIndex * 123, cell.RowIndex * 12));
}
}
private DataTable ConvertListToDataTable(List<string[]> list)
{
// New table.
DataTable table = new DataTable();
// Get max columns.
int columns = 0;
foreach (var array in list)
{
if (array.Length > columns)
{
columns = array.Length;
}
}
// Add columns.
for (int i = 0; i < columns; i++)
{
table.Columns.Add();
}
// Add rows.
foreach (var array in list)
{
table.Rows.Add(array);
}
return table;
}
}
Я вижу, что вы используете код из [моего ответа] (http://stackoverflow.com/questions/28368453/c-sharp-preview -print-dialog/28391910 # 28391910) на ваш предыдущий вопрос. Вы действительно должны поставить комментарий там, если вы не можете заставить его работать, вместо того, чтобы публиковать в основном тот же вопрос, возможно, с той же проблемой! - Имеются ли данные в DGV и вы можете видеть их в отладчике, когда вы проходите через «PrintPage»? – TaW
На самом деле я был не совсем прав; эта проблема сильно отличается от предыдущей публикации! – TaW
Вы получили его сейчас? – TaW