C# DataGrid打印数据源问题,已赋值的Datatable总是为空

来源:百度知道 编辑:UC知道 时间:2024/06/28 21:37:45
小弟我用c#做了个程序,因为第一次接触到打印的功能,本打定义个全局的DataTable接受返回值,再用来打印的,跟踪时发现dt和TumpTable虽然可以赋值给DataGrid,但是自身显示的值为{}打出一张白纸,打印时直接使用DataSource赋值DataTable也是null值,程序报错,应该就是Null所以非常懵~!求各路高人帮忙看下,感激不尽,代码如下:
private void btnSelect_Click(object sender, EventArgs e)
{
....//这里是调用了存储过程,返回一个select结果集
try
{
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
sda.Fill(TumpTable);//这里是我弄的那个全局的表
DataGridSelect.DataSource = dt.DefaultView;
DataGridSelect.Refresh();
sda = null;
dt = null;
}
catch (System.Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
finally
{
cmd.Connection.Close();
plSelect.Show();
plInfo.Hide();
}
}

//打印报表的代码:
private void printDocument1_PrintPage(object sender, Sys

DataTable dt = DataGridSelect.DataSource as DataTable;
你看这一步出来的dt 是不是空或空对象呢?
如果是看一下你第一段代码里的这个DataGridSelect对象出来之后是不是空了。。。
---------------------------
你做了这句话后DataTable dt = new DataTable();
dt就没有设过值,当然是null啦,

//你的表(TumpTable)
DataGridSelect.DataSource = TumpTable.DefaultView
是不是这样呢???

打印。。。我很多方法。。还可以预览。。。就可以看出是不是白纸