操作DataTable
for (int id = 0; id < liststr.Count;id++ )
{
m_dtExpert = new DataTable[id];
m_dtExpert[id].Columns.Add(id+""); //这句报错,索引超出了数组界限。
}
索引 --------------------编程问答--------------------
for (int id = 0; id < liststr.Count;id++ )--------------------编程问答-------------------- 不对,m_dtExpert没Columns --------------------编程问答-------------------- 实例化DataTable怎么还有个[id]???? --------------------编程问答-------------------- m_dtExpert.Columns.Add(id.ToString()); --------------------编程问答-------------------- m_dtExpert = new DataTable(id.ToString());
{
m_dtExpert = new DataTable[id];
m_dtExpert.Columns[id].Add(id+"");
}
m_dtExpert.Columns[id].Add(id+""); --------------------编程问答-------------------- 我的意思是 创建多个Table 每个table都新建一个列
m_dtExpert=new DataTable[liststr.Count];--------------------编程问答-------------------- m_dtExpert要先添加列,然后再根据列添加相应的值 --------------------编程问答-------------------- 吧datatable全部存在一个dataset里面,
foreach(DataTable ta in m_dtExpert)
{
ta.Columns.Add("11"); //还是不正确
}
DataSet ds=new DataSet();
for (int i = 0; i < 100; i++)
{
DataTable dt=new DataTable();
dt.TableName=i.ToString();
dt.Columns.Add(i.ToString());
ds.Tables.Add(dt);
}
获取某个datatable可以通过索引也可以通过table的名字
--------------------编程问答--------------------
//通过索引
DataTable dt_temp = ds.Tables[88];
//通过名字
DataTable dt_temp = ds.Tables["88"];
那就用DataSet存DataTable --------------------编程问答-------------------- m_dtExpert[id-1].Columns.Add(id+"");
这样写,然后就会出现经典的错误:未将对象引用到实例 --------------------编程问答--------------------
DataSet set = new DataSet();--------------------编程问答--------------------
for (int i = 0; i < 10; i++)
{
DataTable tab = new DataTable();
tab.Columns.Add("A");
set.Tables.Add(tab);
}
我错了,从零开始的,还是超出范围...
补充:.NET技术 , C#