当前位置:编程学习 > C#/ASP.NET >>

报错 无法找到列0

 

str = "";
            foreach (FileSystemInfo fs in fsinfo)   //遍历上面的数组中的项
             {
                 if (fs is FileInfo) //如果遍历到的是文件
         
        {
                     if (fs.Extension == ".png")

                     {
                         str = fs.FullName;
                         DataRow lar = Vfx_DataTable.NewRow();
                         lar[0] = str;    --报错 无法找到列0
                         Vfx_DataTable.Rows.Add(lar);
                     }
                 }
                 if (fs is DirectoryInfo)  //如果遍历到的是文件夹
                 { 
                    showFiles(fs.FullName,Vfx_DataTable,Vfx_ImageList,out str);   //递归方法                
                 }
              }       --------------------编程问答-------------------- 无法找到列0 是怎么回事啊 --------------------编程问答-------------------- 说明  lar  中没有列 --------------------编程问答-------------------- 跟踪了str是有值得 --------------------编程问答--------------------
引用 2 楼 bdmh 的回复:
说明  lar  中没有列


lar怎么给列啊? --------------------编程问答--------------------
引用 3 楼 rainfish520 的回复:
跟踪了str是有值得

str有值是没有用的 你的row里面没有列 你怎么往里面加数据 先向row里面添加column 之后再赋值 --------------------编程问答--------------------
引用 5 楼 ducker3590 的回复:
Quote: 引用 3 楼 rainfish520 的回复:

跟踪了str是有值得

str有值是没有用的 你的row里面没有列 你怎么往里面加数据 先向row里面添加column 之后再赋值


抱歉 应该怎么向row中添加colimn呢? --------------------编程问答--------------------
引用 6 楼 rainfish520 的回复:
Quote: 引用 5 楼 ducker3590 的回复:

Quote: 引用 3 楼 rainfish520 的回复:

跟踪了str是有值得

str有值是没有用的 你的row里面没有列 你怎么往里面加数据 先向row里面添加column 之后再赋值


抱歉 应该怎么向row中添加colimn呢?


        Vfx_DataTable.Columns.Add("ColumnsName");
         if (fs.Extension == ".png")
                     {
                         str = fs.FullName;
                         DataRow lar = Vfx_DataTable.NewRow();
                         lar[0] = str;    --报错 无法找到列0
                         Vfx_DataTable.Rows.Add(lar);
                     }
--------------------编程问答--------------------
引用 6 楼 rainfish520 的回复:
Quote: 引用 5 楼 ducker3590 的回复:

Quote: 引用 3 楼 rainfish520 的回复:

跟踪了str是有值得

str有值是没有用的 你的row里面没有列 你怎么往里面加数据 先向row里面添加column 之后再赋值


抱歉 应该怎么向row中添加colimn呢?

取得Vfx_DataTable的实例
比如

Vfx_DataTable table = new Vfx_DataTable();
table.Columns.Add("DirFullName", Type.GetType("System.String"));
DataRow lar = Vfx_DataTable.NewRow();
lar["DirFullName"] = str;  //对应上面加的列名 如果真有一列 用0也可以
Vfx_DataTable.Rows.Add(lar);
--------------------编程问答--------------------

DataColumn dc = new DataColumn("Name");//列名自己定義
Vfx_DataTable.Columns.Add(dc);
--------------------编程问答--------------------
引用 9 楼 reenjie 的回复:

DataColumn dc = new DataColumn("Name");//列名自己定義
Vfx_DataTable.Columns.Add(dc);


if (fs is FileInfo) //如果遍历到的是文件
                 {
                     DataColumn dc = new DataColumn("Dir");
                     Vfx_DataTable.Columns.Add(dc);
                     if (fs.Extension == ".png")
                     {
                         Vstr = fs.FullName;                       
                         DataRow Vlar = Vfx_DataTable.NewRow();
                        
                         Vlar[0] = Vstr;
                         Vfx_DataTable.Rows.Add(Vlar);
                     }
                 }
报错说   名为“dir”的列已经属于此datatable --------------------编程问答--------------------
引用 10 楼 rainfish520 的回复:
Quote: 引用 9 楼 reenjie 的回复:


DataColumn dc = new DataColumn("Name");//列名自己定義
Vfx_DataTable.Columns.Add(dc);


if (fs is FileInfo) //如果遍历到的是文件
                 {
                     DataColumn dc = new DataColumn("Dir");
                     Vfx_DataTable.Columns.Add(dc);
                     if (fs.Extension == ".png")
                     {
                         Vstr = fs.FullName;                       
                         DataRow Vlar = Vfx_DataTable.NewRow();
                        
                         Vlar[0] = Vstr;
                         Vfx_DataTable.Rows.Add(Vlar);
                     }
                 }
报错说   名为“dir”的列已经属于此datatable




你贴代码能贴整齐点不?你发帖的代码贴的真乱

    DataColumn dc = new DataColumn("Dir");

这句代码放在foreach外面 --------------------编程问答-------------------- 谢谢大家 问题解决了 我在相同命名空间下load出winform的时候先增加了一列
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,