[ControlBuilderAttribute(typeof(ImportFilesControlBuilder)),
 ParseChildren(false),  //true,"ColumnNames"
 PersistChildren(false),
// Designer(typeof(ImportFilesDesigner))
 ]
 public class ImportFiles: System.Web.UI.Control, INamingContainer, IPostBackEventHandler
 {
  private TextItemCollection _columnnames = new TextItemCollection();

[Category("General ImportFiles Parameters"),
  DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
  PersistenceMode(PersistenceMode.InnerDefaultProperty),
  NotifyParentProperty(true),
  Description("The name of the import excel file colum")]
  public TextItemCollection ColumnNames
  {
   get
   { 
    return this._columnnames;
   }
   set
   {
    if (this._columnnames != value)
    {
     this._columnnames = value;
    }
   }
  }

}

    /// <summary>
    
/// Summary description for TextItemCollection.
    
/// </summary>

    [Editor(typeof(Asus.Helper.Component.WebControls.Design.ItemDataCollectionEditor),typeof(UITypeEditor)),
    Serializable]
    
public class TextItemCollection: CollectionBase//, IStateManager
    {
        
private TextItemCollection _testItems;

//        private bool _isTrackingViewState;
//        private bool _saveAll;

        
public TextItemCollection Items
        

            
get return this._testItems; }
            
set this._testItems = value; } 
        }


        
public TextItem this[int index]
        

            
get 
            
{
                
return (TextItem)base.List[index];
            }
 
        }


        
public TextItemCollection()
        
{
            
//
            
// TODO: Add constructor logic here
            
//
        }


        
Realize IStateManager Interface IStateManager Implementation

        
public void Add(TextItem item) 
        

            
base.List.Add(item); 
        }


        
public int IndexOf(TextItem item) 
        

            
return base.List.IndexOf(item); 
        }


        
public void Remove(TextItem item)
        
{
            
base.List.Remove(item);
        }


        
public bool Contains(TextItem item)
        
{
            
return base.List.Contains(item);
        }


        
public void Insert(int index, TextItem item)
        
{
            
base.List.Insert(index,item);
        }


        
public void CopyTo(Array array, int index)
        
{
            
base.List.CopyTo(array,index);
        }

    }