Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataTable按索引将选定的行和列复制到另一个DataTable_C#_Asp.net_Regex_Datatable - Fatal编程技术网

C# DataTable按索引将选定的行和列复制到另一个DataTable

C# DataTable按索引将选定的行和列复制到另一个DataTable,c#,asp.net,regex,datatable,C#,Asp.net,Regex,Datatable,我有两个数据表 进口公司 ExportExcelDT 在这两个表中,有一个表包含一些数据,我将检查每一行作为验证,并从表中删除无效列并将其添加到第二个表中 这是我正在使用的代码 int Col = 0; using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con)) {

我有两个数据表

  • 进口公司
  • ExportExcelDT
在这两个表中,有一个表包含一些数据,我将检查每一行作为验证,并从表中删除无效列并将其添加到第二个表中

这是我正在使用的代码

            int Col = 0;
            using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con))
            {
                oda.Fill(ImportExcelDT);

                if (ImportExcelDT.Rows.Count > 0)
                {
                    for (int i = 0; i < ImportExcelDT.Rows.Count; i++)
                    {

                        string EmpCod = ImportExcelDT.Rows[i]["Employee Code"].ToString();
                        bool isEmpCod = Regex.IsMatch(EmpCod, @"^[a-zA-Z0-9/-]+$");

                       //Here i am checking condition if its false
                       if (!isEmpCod)
                        {
                            count++;
                          //Now i want to copy and delete selected row in another data table 
                            for (int j = 0; j < ImportExcelDT.Rows.Count; j++)
                            {
                                ImportExcelDT.Rows[j][i] = ExportExcelDT.Rows[j][Col];
                                ImportExcelDT.Rows[i].Delete();

                            }
                        }
                        else
                        {

                        }
int Col=0;
使用(OleDbDataAdapter oda=新的OleDbDataAdapter(“从[“+sheet1+”]”中选择*,excel_-con))
{
oda.Fill(importexeldt);
如果(IMPORTEXELDT.Rows.Count>0)
{
对于(int i=0;i
我有点困惑,在删除和添加时,应该在
ImportExcelDT.Rows[j][I]
ExportExcelDT.Rows[j][Col];
上选择哪一行和哪一列。

试试这个

if (ImportExcelDT.Rows.Count > 0)
{
    ExportExcelDT = ImportExcelDT.Clone();
    for (int i = 0; i < ImportExcelDT.Rows.Count; i++)
    {
        string EmpCod = ImportExcelDT.Rows[i]["Employee Code"].ToString();
        bool isEmpCod = Regex.IsMatch(EmpCod, @"^[a-zA-Z0-9/-]+$");
        //Here i am checking condition if its false
            if (!isEmpCod)
            {
                count++;
                //Now i want to copy and delete selected row in another data table 
                ExportExcelDT.ImportRow(ImportExcelDT.Rows[i]);
                ImportExcelDT.Rows[i].Delete();
            }
        else
        {

        }
    }
}
if(ImportExcelDT.Rows.Count>0)
{
ExportExcelDT=ImportExcelDT.Clone();
对于(int i=0;i
这是在
ImportExcelDT.Rows[j][i]=ExportExcelDT.Rows[j][Col];
正确吗?您想做什么?如果第7行出现验证错误,那么我想将第7列复制到新数据表,并从旧数据表中删除第7列,所以它应该是
ExportExcelDT.Rows[j][Col]=ImportExcelDT.Rows[j][i]
对吗?位置1没有行。或者位置0没有行。我在使用count++和col时遇到了错误?是的,它将遍历每一行,在所有操作完成后,它将跳出循环。我应该使用break;?我不了解您的要求,您想做什么?让我们来看看。