首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于DataTable的有关问题

2012-04-08 
关于DataTable的问题。有以下代码:C# codeDataTable dt…… 从数据库读取的DataTableOverrideSmartGridData(

关于DataTable的问题。
有以下代码:

C# code
DataTable dt=…… 从数据库读取的DataTableOverrideSmartGridData(dt);


然后我在OverrideSmartGridData方法中重新给dt赋值
protected override void OverrideSmartGridData(DataTable dt)
{
  dt = ChangeData();
}

再回到OverrideSmartGridData(dt)这行代码的时候,dt的值没有发生任何改变,还是从数据库中读取到的datatable.
再如果我改写一下OverrideSmartGridData方法,如下:
protected override void OverrideSmartGridData(DataTable dt)
{
  dt.Clear();
}
再回到OverrideSmartGridData(dt)这行代码的时候,发现dt的值有被清空了。

请问这是怎么回事呢?我都是在
protected override void OverrideSmartGridData(DataTable dt)
{
}
中操作的,怎么会有两个不同的结果?

[解决办法]
DataTable dt,这样的参数,你可以操作dt内部的方法等,但是你不能改变dt的指向
ref DataTable dt,这样可以改变dt的指向

热点排行