Exemplo n.º 1
0
 public void RefreshCurrentPageDataTable()
 {
     using (ComReleaser comreleaser = new ComReleaser())
     {
         IFeatureCursor cursor = TargetFeatureClass.Search(null, false);
         comreleaser.ManageLifetime(cursor);
         IFeature tempFt = cursor.NextFeature();
         comreleaser.ManageLifetime(tempFt);
         ISet <int> IngoreFieldIndex = ConvertIngoreColName2FieldIndex();
         for (int index = 0; index < FeatureCount; index++)
         {
             if (index < CurrentPage * PageContains)
             {
                 tempFt = cursor.NextFeature();
             }
             else if (index > (CurrentPage + 1) * PageContains)
             {
                 break;
             }
             else
             {
                 int     colIndex = 0;
                 DataRow tempRow  = ResultTable.NewRow();
                 for (int i = 0; i < TargetFeatureClass.Fields.FieldCount; i++)
                 {
                     if (IngoreFieldIndex.Contains(i))
                     {
                         continue;
                     }
                     tempRow[colIndex++] = tempFt.get_Value(index);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        public void CalSplitPageParams(int PageContains)
        {
            FeatureCount = TargetFeatureClass.FeatureCount(null);
            PageCount    = FeatureCount / PageContains + 1;
            CurrentPage  = 1;

            CreateNullRecordTable();
        }