打印旋钮为何无效
打印按钮为何无效
private void button1_Click(object sender, EventArgs e)
{
xs();
dataGridView1.Name = "学生信息表";
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Font f = new Font("宋体", 15);
Font f1 = new Font("宋体", 10);
e.Graphics.DrawString(dataGridView1.Name.ToString(), f, Brushes.Red, 300, 100);
int x = 0;
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
e.Graphics.DrawString(dc.HeaderText, f1, Brushes.Black, 100 + x, 200);
x = x + dc.Width;
}
int y = 250;
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
x = 0;
foreach (DataGridViewCell dgvc in dr.Cells)
{ //对当前行中的每一个单元格
if (dgvc.ValueType.ToString() == "System.DateTime")
{
e.Graphics.DrawString(dgvc.Value.ToString().Substring(0, 9), f1, Brushes.Black, 100 + x, y); 点击打印按钮后总是提示“未将对象引用设置到对象的实例。” }
else
e.Graphics.DrawString(dgvc.Value.ToString(), f1, Brushes.Black, 100 + x, y);
x = x + dataGridView1.Columns[dgvc.ColumnIndex].Width;
}
y = y + dr.Height;
}
}
private void button2_Click(object sender, EventArgs e)
{
printPreviewDialog1.ShowDialog();
}
我已经添加了printDialog1, printDocument1, printPreviewDialog1这三个打印相关控件
而且printDialog1, printPreviewDialog1得Dcoment属性对应了printDocument1
------解决方案--------------------
单步检查dgvc.Value值长度
判断哪个值为null
------解决方案--------------------
检查 dgvc.Value.ToString().Substring(0, 9)
------解决方案--------------------
检查dgvc.Value必定有null的
private void button1_Click(object sender, EventArgs e)
{
xs();
dataGridView1.Name = "学生信息表";
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Font f = new Font("宋体", 15);
Font f1 = new Font("宋体", 10);
e.Graphics.DrawString(dataGridView1.Name.ToString(), f, Brushes.Red, 300, 100);
int x = 0;
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
e.Graphics.DrawString(dc.HeaderText, f1, Brushes.Black, 100 + x, 200);
x = x + dc.Width;
}
int y = 250;
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
x = 0;
foreach (DataGridViewCell dgvc in dr.Cells)
{ //对当前行中的每一个单元格
if (dgvc.ValueType.ToString() == "System.DateTime")
{
e.Graphics.DrawString(dgvc.Value.ToString().Substring(0, 9), f1, Brushes.Black, 100 + x, y); 点击打印按钮后总是提示“未将对象引用设置到对象的实例。” }
else
e.Graphics.DrawString(dgvc.Value.ToString(), f1, Brushes.Black, 100 + x, y);
x = x + dataGridView1.Columns[dgvc.ColumnIndex].Width;
}
y = y + dr.Height;
}
}
private void button2_Click(object sender, EventArgs e)
{
printPreviewDialog1.ShowDialog();
}
我已经添加了printDialog1, printDocument1, printPreviewDialog1这三个打印相关控件
而且printDialog1, printPreviewDialog1得Dcoment属性对应了printDocument1
------解决方案--------------------
单步检查dgvc.Value值长度
判断哪个值为null
------解决方案--------------------
检查 dgvc.Value.ToString().Substring(0, 9)
------解决方案--------------------
检查dgvc.Value必定有null的