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

DataGrid 绑定DataTable,来看看

2012-03-01 
DataGrid 绑定DataTable,高手进来看看GetZhimaDatagzdnewGetZhimaData()ArrayListalgzd.ImportDataFrom

DataGrid 绑定DataTable,高手进来看看
GetZhimaData   gzd   =   new   GetZhimaData();
ArrayList   al   =   gzd.ImportDataFromDB();
DataTable   dt   =   new   DataTable();

dt.Columns.Clear();
dt.TableName   =   "zhima ";

//添加列
dt.Columns.Add( "ID号 ",   typeof(String));
dt.Columns.Add( "期数 ",   typeof(String));
dt.Columns.Add( "结果 ",   typeof(String));
#region   "动态列 "
if(ckbSimpleCondition.CheckedItems.Count   !=0)           //第一次我没有选择,不执行这个。第二次执行.
{
for(int   i=0;i <ckbSimpleCondition.CheckedItems.Count;i++)
{  
dt.Columns.Add(ckbSimpleCondition.CheckedItems[i].ToString(),   typeof(String));  
string   strModeName   =   ckbSimpleCondition.CheckedItems[i].ToString();  
alModeName.Add(strModeName);
//临时做法  
if(i==0)
{
alModeValue.Add(mode0005);  
}  
else   if(i==1)  
{  
alModeValue.Add(mode0621);
}  
else
{
alModeValue.Add(mode2227);
}
}
}
#endregion

#region   开始添加数据
//开始添加数据
#endregion

dataGrid1.DataSource   =   dt;


上面的代码是按钮事件中的source
我用DataTable   绑定到DataGrid上。
第一次不执行代码中的for循环。DataTable中就只有三列。
我第二次选择ckbSimpleCondition中的三项。经过调试。往DataTable中添加数据之后。
DataTable中确实已经新增了三列。并且里面有值。
而dataGrid1.DataSource   =   dt;执行后。并没有发现dataGrid1中列的变化--它还是三列。没变

[解决办法]
AutoGenerateColumns属性设为True 看看

热点排行