#pragma once

#using <mscorlib.dll>
#using <System.dll>
#using <System.Data.dll>
#using <System.Xml.dll>

using namespace System::Security::Permissions;
[assembly:SecurityPermissionAttribute(SecurityAction::RequestMinimum, SkipVerification=false)];
// 
// This source code was auto-generated by xsd, Version=2.0.50727.42.
// 
namespace ObjDataEdit {
    using namespace System;
    public __gc class DataSet3;
    
    
    /// <summary>
///Represents a strongly typed in-memory cache of data.
///</summary>
    [System::CodeDom::Compiler::GeneratedCodeAttribute(S"System.Data.Design.TypedDataSetGenerator", S"2.0.0.0"), 
    System::Serializable, 
    System::ComponentModel::DesignerCategoryAttribute(S"code"), 
    System::ComponentModel::ToolboxItem(true), 
    System::Xml::Serialization::XmlSchemaProviderAttribute(S"GetTypedDataSetSchema"), 
    System::Xml::Serialization::XmlRootAttribute(S"DataSet3"), 
    System::ComponentModel::Design::HelpKeywordAttribute(S"vs.data.DataSet")]
    public __gc class DataSet3 : public System::Data::DataSet {
        public : __gc class StringDBDataTable;
        public : __gc class StringDBRow;
        public : __gc class StringDBRowChangeEvent;
        
        private: ObjDataEdit::DataSet3::StringDBDataTable*  tableStringDB;
        
        private: System::Data::SchemaSerializationMode _schemaSerializationMode;
        
        public : __delegate System::Void StringDBRowChangeEventHandler(System::Object*  sender, ObjDataEdit::DataSet3::StringDBRowChangeEvent*  e);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        DataSet3();
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        DataSet3(System::Runtime::Serialization::SerializationInfo*  info, System::Runtime::Serialization::StreamingContext context);
        public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
        property: System::ComponentModel::Browsable(false), 
        property: System::ComponentModel::DesignerSerializationVisibility(System::ComponentModel::DesignerSerializationVisibility::Content)]
         __property ObjDataEdit::DataSet3::StringDBDataTable*  get_StringDB();
        
        public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
        property: System::ComponentModel::BrowsableAttribute(true), 
        property: System::ComponentModel::DesignerSerializationVisibilityAttribute(System::ComponentModel::DesignerSerializationVisibility::Visible)]
         __property virtual System::Data::SchemaSerializationMode get_SchemaSerializationMode();
        public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
        property: System::ComponentModel::BrowsableAttribute(true), 
        property: System::ComponentModel::DesignerSerializationVisibilityAttribute(System::ComponentModel::DesignerSerializationVisibility::Visible)]
         __property virtual  void set_SchemaSerializationMode(System::Data::SchemaSerializationMode value)
        ;
        
        public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
        property: System::ComponentModel::DesignerSerializationVisibilityAttribute(System::ComponentModel::DesignerSerializationVisibility::Hidden)]
         __property System::Data::DataTableCollection*  get_Tables();
        
        public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
        property: System::ComponentModel::DesignerSerializationVisibilityAttribute(System::ComponentModel::DesignerSerializationVisibility::Hidden)]
         __property System::Data::DataRelationCollection*  get_Relations();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Void InitializeDerivedDataSet();
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Data::DataSet*  Clone();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Boolean ShouldSerializeTables();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Boolean ShouldSerializeRelations();
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Void ReadXmlSerializable(System::Xml::XmlReader*  reader);
        
        protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        virtual System::Xml::Schema::XmlSchema*  GetSchemaSerializable();
        
        public private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        System::Void InitVars();
        
        public private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        System::Void InitVars(System::Boolean initTable);
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        System::Void InitClass();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        System::Boolean ShouldSerializeStringDB();
        
        private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        System::Void SchemaChanged(System::Object*  sender, System::ComponentModel::CollectionChangeEventArgs*  e);
        
        public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
        static System::Xml::Schema::XmlSchemaComplexType*  GetTypedDataSetSchema(System::Xml::Schema::XmlSchemaSet*  xs);
        
        public : /// <summary>
///Represents the strongly named DataTable class.
///</summary>
        [System::CodeDom::Compiler::GeneratedCodeAttribute(S"System.Data.Design.TypedDataSetGenerator", S"2.0.0.0"), 
        System::Serializable, 
        System::Xml::Serialization::XmlSchemaProviderAttribute(S"GetTypedTableSchema")]
        __gc class StringDBDataTable : public System::Data::DataTable, public System::Collections::IEnumerable {
            
            private: System::Data::DataColumn*  columnKeyStr;
            
            private: System::Data::DataColumn*  columnType;
            
            private: System::Data::DataColumn*  columnContent;
            
            private: System::Data::DataColumn*  columnNote;
            
            private: System::Data::DataColumn*  columnSubType;
            
            private: System::Data::DataColumn*  columnDirZoneID;
            
            private: System::Data::DataColumn*  columnDirTagID;
            
            private: System::Data::DataColumn*  columnDirVersionID;
            
            private: System::Data::DataColumn*  columnTranslate;
            
            public: __event ObjDataEdit::DataSet3::StringDBRowChangeEventHandler*  StringDBRowChanging;
            
            public: __event ObjDataEdit::DataSet3::StringDBRowChangeEventHandler*  StringDBRowChanged;
            
            public: __event ObjDataEdit::DataSet3::StringDBRowChangeEventHandler*  StringDBRowDeleting;
            
            public: __event ObjDataEdit::DataSet3::StringDBRowChangeEventHandler*  StringDBRowDeleted;
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            StringDBDataTable();
            public private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            StringDBDataTable(System::Data::DataTable*  table);
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            StringDBDataTable(System::Runtime::Serialization::SerializationInfo*  info, System::Runtime::Serialization::StreamingContext context);
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_KeyStrColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_TypeColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_ContentColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_NoteColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_SubTypeColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_DirZoneIDColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_DirTagIDColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_DirVersionIDColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataColumn*  get_TranslateColumn();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute, 
            property: System::ComponentModel::Browsable(false)]
             __property System::Int32 get_Count();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property ObjDataEdit::DataSet3::StringDBRow*  get_Item(System::Int32 index);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            System::Void AddStringDBRow(ObjDataEdit::DataSet3::StringDBRow*  row);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            ObjDataEdit::DataSet3::StringDBRow*  AddStringDBRow(
                        System::String*  KeyStr, 
                        System::Int32 Type, 
                        System::String*  Content, 
                        System::String*  Note, 
                        System::Int32 SubType, 
                        System::Int32 DirZoneID, 
                        System::Int32 DirTagID, 
                        System::Int32 DirVersionID, 
                        System::Boolean Translate);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            ObjDataEdit::DataSet3::StringDBRow*  FindByKeyStr(System::String*  KeyStr);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Collections::IEnumerator*  GetEnumerator();
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Data::DataTable*  Clone();
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Data::DataTable*  CreateInstance();
            
            public private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            System::Void InitVars();
            
            private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            System::Void InitClass();
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            ObjDataEdit::DataSet3::StringDBRow*  NewStringDBRow();
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Data::DataRow*  NewRowFromBuilder(System::Data::DataRowBuilder*  builder);
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Type*  GetRowType();
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Void OnRowChanged(System::Data::DataRowChangeEventArgs*  e);
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Void OnRowChanging(System::Data::DataRowChangeEventArgs*  e);
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Void OnRowDeleted(System::Data::DataRowChangeEventArgs*  e);
            
            protected: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            virtual System::Void OnRowDeleting(System::Data::DataRowChangeEventArgs*  e);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            System::Void RemoveStringDBRow(ObjDataEdit::DataSet3::StringDBRow*  row);
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            static System::Xml::Schema::XmlSchemaComplexType*  GetTypedTableSchema(System::Xml::Schema::XmlSchemaSet*  xs);
        };
        
        public : /// <summary>
///Represents strongly named DataRow class.
///</summary>
        [System::CodeDom::Compiler::GeneratedCodeAttribute(S"System.Data.Design.TypedDataSetGenerator", S"2.0.0.0")]
        __gc class StringDBRow : public System::Data::DataRow {
            
            private: ObjDataEdit::DataSet3::StringDBDataTable*  tableStringDB;
            
            public private: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            StringDBRow(System::Data::DataRowBuilder*  rb);
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::String*  get_KeyStr();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_KeyStr(System::String*  value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Int32 get_Type();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_Type(System::Int32 value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::String*  get_Content();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_Content(System::String*  value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::String*  get_Note();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_Note(System::String*  value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Int32 get_SubType();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_SubType(System::Int32 value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Int32 get_DirZoneID();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_DirZoneID(System::Int32 value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Int32 get_DirTagID();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_DirTagID(System::Int32 value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Int32 get_DirVersionID();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_DirVersionID(System::Int32 value)
            ;
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Boolean get_Translate();
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property  void set_Translate(System::Boolean value)
            ;
        };
        
        public : /// <summary>
///Row event argument class
///</summary>
        [System::CodeDom::Compiler::GeneratedCodeAttribute(S"System.Data.Design.TypedDataSetGenerator", S"2.0.0.0")]
        __gc class StringDBRowChangeEvent : public System::EventArgs {
            
            private: ObjDataEdit::DataSet3::StringDBRow*  eventRow;
            
            private: System::Data::DataRowAction eventAction;
            
            public: [System::Diagnostics::DebuggerNonUserCodeAttribute]
            StringDBRowChangeEvent(ObjDataEdit::DataSet3::StringDBRow*  row, System::Data::DataRowAction action);
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property ObjDataEdit::DataSet3::StringDBRow*  get_Row();
            
            public: [property: System::Diagnostics::DebuggerNonUserCodeAttribute]
             __property System::Data::DataRowAction get_Action();
        };
    };
}
namespace ObjDataEdit {
    
    
    inline DataSet3::DataSet3() {
        this->BeginInit();
        this->InitClass();
        System::ComponentModel::CollectionChangeEventHandler*  schemaChangedHandler = new System::ComponentModel::CollectionChangeEventHandler(this, &ObjDataEdit::DataSet3::SchemaChanged);
        __super::Tables->CollectionChanged += schemaChangedHandler;
        __super::Relations->CollectionChanged += schemaChangedHandler;
        this->EndInit();
    }
    
    inline DataSet3::DataSet3(System::Runtime::Serialization::SerializationInfo*  info, System::Runtime::Serialization::StreamingContext context) : 
            System::Data::DataSet(info, context, false) {
        if (this->IsBinarySerialized(info, context) == true) {
            this->InitVars(false);
            System::ComponentModel::CollectionChangeEventHandler*  schemaChangedHandler1 = new System::ComponentModel::CollectionChangeEventHandler(this, &ObjDataEdit::DataSet3::SchemaChanged);
            this->Tables->CollectionChanged += schemaChangedHandler1;
            this->Relations->CollectionChanged += schemaChangedHandler1;
            return;
        }
        System::String*  strSchema = (__try_cast<System::String*  >(info->GetValue(S"XmlSchema", __typeof(System::String))));
        if (this->DetermineSchemaSerializationMode(info, context) == System::Data::SchemaSerializationMode::IncludeSchema) {
            System::Data::DataSet*  ds = (new System::Data::DataSet());
            ds->ReadXmlSchema((new System::Xml::XmlTextReader((new System::IO::StringReader(strSchema)))));
            if (ds->Tables->Item[S"StringDB"] != 0) {
                __super::Tables->Add((new ObjDataEdit::DataSet3::StringDBDataTable(ds->Tables->Item[S"StringDB"])));
            }
            this->DataSetName = ds->DataSetName;
            this->Prefix = ds->Prefix;
            this->Namespace = ds->Namespace;
            this->Locale = ds->Locale;
            this->CaseSensitive = ds->CaseSensitive;
            this->EnforceConstraints = ds->EnforceConstraints;
            this->Merge(ds, false, System::Data::MissingSchemaAction::Add);
            this->InitVars();
        }
        else {
            this->ReadXmlSchema((new System::Xml::XmlTextReader((new System::IO::StringReader(strSchema)))));
        }
        this->GetSerializationData(info, context);
        System::ComponentModel::CollectionChangeEventHandler*  schemaChangedHandler = new System::ComponentModel::CollectionChangeEventHandler(this, &ObjDataEdit::DataSet3::SchemaChanged);
        __super::Tables->CollectionChanged += schemaChangedHandler;
        this->Relations->CollectionChanged += schemaChangedHandler;
    }
    
    inline ObjDataEdit::DataSet3::StringDBDataTable*  DataSet3::get_StringDB() {
        return this->tableStringDB;
    }
    
    inline System::Data::SchemaSerializationMode DataSet3::get_SchemaSerializationMode() {
        return this->_schemaSerializationMode;
    }
    inline void DataSet3::set_SchemaSerializationMode(System::Data::SchemaSerializationMode value) {
        this->_schemaSerializationMode = __identifier(value);
    }
    
    inline System::Data::DataTableCollection*  DataSet3::get_Tables() {
        return __super::Tables;
    }
    
    inline System::Data::DataRelationCollection*  DataSet3::get_Relations() {
        return __super::Relations;
    }
    
    inline System::Void DataSet3::InitializeDerivedDataSet() {
        this->BeginInit();
        this->InitClass();
        this->EndInit();
    }
    
    inline System::Data::DataSet*  DataSet3::Clone() {
        ObjDataEdit::DataSet3*  cln = (__try_cast<ObjDataEdit::DataSet3*  >(__super::Clone()));
        cln->InitVars();
        cln->SchemaSerializationMode = this->SchemaSerializationMode;
        return cln;
    }
    
    inline System::Boolean DataSet3::ShouldSerializeTables() {
        return false;
    }
    
    inline System::Boolean DataSet3::ShouldSerializeRelations() {
        return false;
    }
    
    inline System::Void DataSet3::ReadXmlSerializable(System::Xml::XmlReader*  reader) {
        if (this->DetermineSchemaSerializationMode(reader) == System::Data::SchemaSerializationMode::IncludeSchema) {
            this->Reset();
            System::Data::DataSet*  ds = (new System::Data::DataSet());
            ds->ReadXml(reader);
            if (ds->Tables->Item[S"StringDB"] != 0) {
                __super::Tables->Add((new ObjDataEdit::DataSet3::StringDBDataTable(ds->Tables->Item[S"StringDB"])));
            }
            this->DataSetName = ds->DataSetName;
            this->Prefix = ds->Prefix;
            this->Namespace = ds->Namespace;
            this->Locale = ds->Locale;
            this->CaseSensitive = ds->CaseSensitive;
            this->EnforceConstraints = ds->EnforceConstraints;
            this->Merge(ds, false, System::Data::MissingSchemaAction::Add);
            this->InitVars();
        }
        else {
            this->ReadXml(reader);
            this->InitVars();
        }
    }
    
    inline System::Xml::Schema::XmlSchema*  DataSet3::GetSchemaSerializable() {
        System::IO::MemoryStream*  stream = (new System::IO::MemoryStream());
        this->WriteXmlSchema((new System::Xml::XmlTextWriter(stream, 0)));
        stream->Position = 0;
        return System::Xml::Schema::XmlSchema::Read((new System::Xml::XmlTextReader(stream)), 0);
    }
    
    inline System::Void DataSet3::InitVars() {
        this->InitVars(true);
    }
    
    inline System::Void DataSet3::InitVars(System::Boolean initTable) {
        this->tableStringDB = (__try_cast<ObjDataEdit::DataSet3::StringDBDataTable*  >(__super::Tables->Item[S"StringDB"]));
        if (initTable == true) {
            if (this->tableStringDB != 0) {
                this->tableStringDB->InitVars();
            }
        }
    }
    
    inline System::Void DataSet3::InitClass() {
        this->DataSetName = S"DataSet3";
        this->Prefix = S"";
        this->Namespace = S"http://tempuri.org/DataSet3.xsd";
        this->EnforceConstraints = true;
        this->SchemaSerializationMode = System::Data::SchemaSerializationMode::IncludeSchema;
        this->tableStringDB = (new ObjDataEdit::DataSet3::StringDBDataTable());
        __super::Tables->Add(this->tableStringDB);
    }
    
    inline System::Boolean DataSet3::ShouldSerializeStringDB() {
        return false;
    }
    
    inline System::Void DataSet3::SchemaChanged(System::Object*  sender, System::ComponentModel::CollectionChangeEventArgs*  e) {
        if (e->Action == System::ComponentModel::CollectionChangeAction::Remove) {
            this->InitVars();
        }
    }
    
    inline System::Xml::Schema::XmlSchemaComplexType*  DataSet3::GetTypedDataSetSchema(System::Xml::Schema::XmlSchemaSet*  xs) {
        ObjDataEdit::DataSet3*  ds = (new ObjDataEdit::DataSet3());
        System::Xml::Schema::XmlSchemaComplexType*  type = (new System::Xml::Schema::XmlSchemaComplexType());
        System::Xml::Schema::XmlSchemaSequence*  sequence = (new System::Xml::Schema::XmlSchemaSequence());
        System::Xml::Schema::XmlSchemaAny*  any = (new System::Xml::Schema::XmlSchemaAny());
        any->Namespace = ds->Namespace;
        sequence->Items->Add(any);
        type->Particle = sequence;
        System::Xml::Schema::XmlSchema*  dsSchema = ds->GetSchemaSerializable();
        if (xs->Contains(dsSchema->TargetNamespace)) {
            System::IO::MemoryStream*  s1 = (new System::IO::MemoryStream());
            System::IO::MemoryStream*  s2 = (new System::IO::MemoryStream());
            try {
                System::Xml::Schema::XmlSchema*  schema = 0;
                dsSchema->Write(s1);
                for (                System::Collections::IEnumerator*  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();                 ) {
                    schema = (__try_cast<System::Xml::Schema::XmlSchema*  >(schemas->Current));
                    s2->SetLength(0);
                    schema->Write(s2);
                    if (s1->Length == s2->Length) {
                        s1->Position = 0;
                        s2->Position = 0;
                        for (                        ; ((s1->Position != s1->Length) 
                                    && (s1->ReadByte() == s2->ReadByte()));                         ) {
                            ;
                        }
                        if (s1->Position == s1->Length) {
                            return type;
                        }
                    }
                }
            }
            __finally {
                if (s1 != 0) {
                    s1->Close();
                }
                if (s2 != 0) {
                    s2->Close();
                }
            }
        }
        xs->Add(dsSchema);
        return type;
    }
    
    
    inline DataSet3::StringDBDataTable::StringDBDataTable() {
        this->TableName = S"StringDB";
        this->BeginInit();
        this->InitClass();
        this->EndInit();
    }
    
    inline DataSet3::StringDBDataTable::StringDBDataTable(System::Data::DataTable*  table) {
        this->TableName = table->TableName;
        if (table->CaseSensitive != table->DataSet->CaseSensitive) {
            this->CaseSensitive = table->CaseSensitive;
        }
        if (table->Locale->ToString() != table->DataSet->Locale->ToString()) {
            this->Locale = table->Locale;
        }
        if (table->Namespace != table->DataSet->Namespace) {
            this->Namespace = table->Namespace;
        }
        this->Prefix = table->Prefix;
        this->MinimumCapacity = table->MinimumCapacity;
    }
    
    inline DataSet3::StringDBDataTable::StringDBDataTable(System::Runtime::Serialization::SerializationInfo*  info, System::Runtime::Serialization::StreamingContext context) : 
            System::Data::DataTable(info, context) {
        this->InitVars();
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_KeyStrColumn() {
        return this->columnKeyStr;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_TypeColumn() {
        return this->columnType;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_ContentColumn() {
        return this->columnContent;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_NoteColumn() {
        return this->columnNote;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_SubTypeColumn() {
        return this->columnSubType;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_DirZoneIDColumn() {
        return this->columnDirZoneID;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_DirTagIDColumn() {
        return this->columnDirTagID;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_DirVersionIDColumn() {
        return this->columnDirVersionID;
    }
    
    inline System::Data::DataColumn*  DataSet3::StringDBDataTable::get_TranslateColumn() {
        return this->columnTranslate;
    }
    
    inline System::Int32 DataSet3::StringDBDataTable::get_Count() {
        return this->Rows->Count;
    }
    
    inline ObjDataEdit::DataSet3::StringDBRow*  DataSet3::StringDBDataTable::get_Item(System::Int32 index) {
        return (__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(this->Rows->Item[index]));
    }
    
    inline System::Void DataSet3::StringDBDataTable::AddStringDBRow(ObjDataEdit::DataSet3::StringDBRow*  row) {
        this->Rows->Add(row);
    }
    
    inline ObjDataEdit::DataSet3::StringDBRow*  DataSet3::StringDBDataTable::AddStringDBRow(
                System::String*  KeyStr, 
                System::Int32 Type, 
                System::String*  Content, 
                System::String*  Note, 
                System::Int32 SubType, 
                System::Int32 DirZoneID, 
                System::Int32 DirTagID, 
                System::Int32 DirVersionID, 
                System::Boolean Translate) {
        ObjDataEdit::DataSet3::StringDBRow*  rowStringDBRow = (__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(this->NewRow()));
        System::Object* __mcTemp__1[] = new System::Object*[9];
                __mcTemp__1[0] = KeyStr;
                __mcTemp__1[1] = __box(Type);
                __mcTemp__1[2] = Content;
                __mcTemp__1[3] = Note;
                __mcTemp__1[4] = __box(SubType);
                __mcTemp__1[5] = __box(DirZoneID);
                __mcTemp__1[6] = __box(DirTagID);
                __mcTemp__1[7] = __box(DirVersionID);
                __mcTemp__1[8] = __box(Translate);
        System::Object*  columnValuesArray[] = __mcTemp__1;
        rowStringDBRow->ItemArray = columnValuesArray;
        this->Rows->Add(rowStringDBRow);
        return rowStringDBRow;
    }
    
    inline ObjDataEdit::DataSet3::StringDBRow*  DataSet3::StringDBDataTable::FindByKeyStr(System::String*  KeyStr) {
        System::Object* __mcTemp__1[] = new System::Object*[1];
                __mcTemp__1[0] = KeyStr;
        return (__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(this->Rows->Find(__mcTemp__1)));
    }
    
    inline System::Collections::IEnumerator*  DataSet3::StringDBDataTable::GetEnumerator() {
        return this->Rows->GetEnumerator();
    }
    
    inline System::Data::DataTable*  DataSet3::StringDBDataTable::Clone() {
        ObjDataEdit::DataSet3::StringDBDataTable*  cln = (__try_cast<ObjDataEdit::DataSet3::StringDBDataTable*  >(__super::Clone()));
        cln->InitVars();
        return cln;
    }
    
    inline System::Data::DataTable*  DataSet3::StringDBDataTable::CreateInstance() {
        return (new ObjDataEdit::DataSet3::StringDBDataTable());
    }
    
    inline System::Void DataSet3::StringDBDataTable::InitVars() {
        this->columnKeyStr = __super::Columns->Item[S"KeyStr"];
        this->columnType = __super::Columns->Item[S"Type"];
        this->columnContent = __super::Columns->Item[S"Content"];
        this->columnNote = __super::Columns->Item[S"Note"];
        this->columnSubType = __super::Columns->Item[S"SubType"];
        this->columnDirZoneID = __super::Columns->Item[S"DirZoneID"];
        this->columnDirTagID = __super::Columns->Item[S"DirTagID"];
        this->columnDirVersionID = __super::Columns->Item[S"DirVersionID"];
        this->columnTranslate = __super::Columns->Item[S"Translate"];
    }
    
    inline System::Void DataSet3::StringDBDataTable::InitClass() {
        this->columnKeyStr = (new System::Data::DataColumn(S"KeyStr", __typeof(System::String), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnKeyStr);
        this->columnType = (new System::Data::DataColumn(S"Type", __typeof(System::Int32), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnType);
        this->columnContent = (new System::Data::DataColumn(S"Content", __typeof(System::String), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnContent);
        this->columnNote = (new System::Data::DataColumn(S"Note", __typeof(System::String), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnNote);
        this->columnSubType = (new System::Data::DataColumn(S"SubType", __typeof(System::Int32), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnSubType);
        this->columnDirZoneID = (new System::Data::DataColumn(S"DirZoneID", __typeof(System::Int32), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnDirZoneID);
        this->columnDirTagID = (new System::Data::DataColumn(S"DirTagID", __typeof(System::Int32), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnDirTagID);
        this->columnDirVersionID = (new System::Data::DataColumn(S"DirVersionID", __typeof(System::Int32), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnDirVersionID);
        this->columnTranslate = (new System::Data::DataColumn(S"Translate", __typeof(System::Boolean), 0, System::Data::MappingType::Element));
        __super::Columns->Add(this->columnTranslate);
        System::Data::DataColumn* __mcTemp__1[] = new System::Data::DataColumn*[1];
                        __mcTemp__1[0] = this->columnKeyStr;
        this->Constraints->Add((new System::Data::UniqueConstraint(S"Constraint1", __mcTemp__1, true)));
        this->columnKeyStr->AllowDBNull = false;
        this->columnKeyStr->Unique = true;
        this->columnKeyStr->MaxLength = 63;
        this->columnType->AllowDBNull = false;
        this->columnContent->AllowDBNull = false;
        this->columnContent->MaxLength = 1024;
        this->columnNote->AllowDBNull = false;
        this->columnNote->MaxLength = 1024;
        this->columnSubType->AllowDBNull = false;
        this->columnDirZoneID->AllowDBNull = false;
        this->columnDirTagID->AllowDBNull = false;
        this->columnDirVersionID->AllowDBNull = false;
        this->columnTranslate->AllowDBNull = false;
    }
    
    inline ObjDataEdit::DataSet3::StringDBRow*  DataSet3::StringDBDataTable::NewStringDBRow() {
        return (__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(this->NewRow()));
    }
    
    inline System::Data::DataRow*  DataSet3::StringDBDataTable::NewRowFromBuilder(System::Data::DataRowBuilder*  builder) {
        return (new ObjDataEdit::DataSet3::StringDBRow(builder));
    }
    
    inline System::Type*  DataSet3::StringDBDataTable::GetRowType() {
        return __typeof(ObjDataEdit::DataSet3::StringDBRow);
    }
    
    inline System::Void DataSet3::StringDBDataTable::OnRowChanged(System::Data::DataRowChangeEventArgs*  e) {
        __super::OnRowChanged(e);
        if (this->StringDBRowChanged != 0) {
            this->StringDBRowChanged(this, (new ObjDataEdit::DataSet3::StringDBRowChangeEvent((__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(e->Row)), 
                    e->Action)));
        }
    }
    
    inline System::Void DataSet3::StringDBDataTable::OnRowChanging(System::Data::DataRowChangeEventArgs*  e) {
        __super::OnRowChanging(e);
        if (this->StringDBRowChanging != 0) {
            this->StringDBRowChanging(this, (new ObjDataEdit::DataSet3::StringDBRowChangeEvent((__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(e->Row)), 
                    e->Action)));
        }
    }
    
    inline System::Void DataSet3::StringDBDataTable::OnRowDeleted(System::Data::DataRowChangeEventArgs*  e) {
        __super::OnRowDeleted(e);
        if (this->StringDBRowDeleted != 0) {
            this->StringDBRowDeleted(this, (new ObjDataEdit::DataSet3::StringDBRowChangeEvent((__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(e->Row)), 
                    e->Action)));
        }
    }
    
    inline System::Void DataSet3::StringDBDataTable::OnRowDeleting(System::Data::DataRowChangeEventArgs*  e) {
        __super::OnRowDeleting(e);
        if (this->StringDBRowDeleting != 0) {
            this->StringDBRowDeleting(this, (new ObjDataEdit::DataSet3::StringDBRowChangeEvent((__try_cast<ObjDataEdit::DataSet3::StringDBRow*  >(e->Row)), 
                    e->Action)));
        }
    }
    
    inline System::Void DataSet3::StringDBDataTable::RemoveStringDBRow(ObjDataEdit::DataSet3::StringDBRow*  row) {
        this->Rows->Remove(row);
    }
    
    inline System::Xml::Schema::XmlSchemaComplexType*  DataSet3::StringDBDataTable::GetTypedTableSchema(System::Xml::Schema::XmlSchemaSet*  xs) {
        System::Xml::Schema::XmlSchemaComplexType*  type = (new System::Xml::Schema::XmlSchemaComplexType());
        System::Xml::Schema::XmlSchemaSequence*  sequence = (new System::Xml::Schema::XmlSchemaSequence());
        ObjDataEdit::DataSet3*  ds = (new ObjDataEdit::DataSet3());
        System::Xml::Schema::XmlSchemaAny*  any1 = (new System::Xml::Schema::XmlSchemaAny());
        any1->Namespace = S"http://www.w3.org/2001/XMLSchema";
        any1->MinOccurs = System::Decimal(0);
        any1->MaxOccurs = System::Decimal::MaxValue;
        any1->ProcessContents = System::Xml::Schema::XmlSchemaContentProcessing::Lax;
        sequence->Items->Add(any1);
        System::Xml::Schema::XmlSchemaAny*  any2 = (new System::Xml::Schema::XmlSchemaAny());
        any2->Namespace = S"urn:schemas-microsoft-com:xml-diffgram-v1";
        any2->MinOccurs = System::Decimal(1);
        any2->ProcessContents = System::Xml::Schema::XmlSchemaContentProcessing::Lax;
        sequence->Items->Add(any2);
        System::Xml::Schema::XmlSchemaAttribute*  attribute1 = (new System::Xml::Schema::XmlSchemaAttribute());
        attribute1->Name = S"namespace";
        attribute1->FixedValue = ds->Namespace;
        type->Attributes->Add(attribute1);
        System::Xml::Schema::XmlSchemaAttribute*  attribute2 = (new System::Xml::Schema::XmlSchemaAttribute());
        attribute2->Name = S"tableTypeName";
        attribute2->FixedValue = S"StringDBDataTable";
        type->Attributes->Add(attribute2);
        type->Particle = sequence;
        System::Xml::Schema::XmlSchema*  dsSchema = ds->GetSchemaSerializable();
        if (xs->Contains(dsSchema->TargetNamespace)) {
            System::IO::MemoryStream*  s1 = (new System::IO::MemoryStream());
            System::IO::MemoryStream*  s2 = (new System::IO::MemoryStream());
            try {
                System::Xml::Schema::XmlSchema*  schema = 0;
                dsSchema->Write(s1);
                for (                System::Collections::IEnumerator*  schemas = xs->Schemas(dsSchema->TargetNamespace)->GetEnumerator(); schemas->MoveNext();                 ) {
                    schema = (__try_cast<System::Xml::Schema::XmlSchema*  >(schemas->Current));
                    s2->SetLength(0);
                    schema->Write(s2);
                    if (s1->Length == s2->Length) {
                        s1->Position = 0;
                        s2->Position = 0;
                        for (                        ; ((s1->Position != s1->Length) 
                                    && (s1->ReadByte() == s2->ReadByte()));                         ) {
                            ;
                        }
                        if (s1->Position == s1->Length) {
                            return type;
                        }
                    }
                }
            }
            __finally {
                if (s1 != 0) {
                    s1->Close();
                }
                if (s2 != 0) {
                    s2->Close();
                }
            }
        }
        xs->Add(dsSchema);
        return type;
    }
    
    
    inline DataSet3::StringDBRow::StringDBRow(System::Data::DataRowBuilder*  rb) : 
            System::Data::DataRow(rb) {
        this->tableStringDB = (__try_cast<ObjDataEdit::DataSet3::StringDBDataTable*  >(this->Table));
    }
    
    inline System::String*  DataSet3::StringDBRow::get_KeyStr() {
        return (__try_cast<System::String*  >(this->Item[this->tableStringDB->KeyStrColumn]));
    }
    inline void DataSet3::StringDBRow::set_KeyStr(System::String*  value) {
        this->Item[this->tableStringDB->KeyStrColumn] = value;
    }
    
    inline System::Int32 DataSet3::StringDBRow::get_Type() {
        return (*__try_cast<__box System::Int32 *  >(this->Item[this->tableStringDB->TypeColumn]));
    }
    inline void DataSet3::StringDBRow::set_Type(System::Int32 value) {
        this->Item[this->tableStringDB->TypeColumn] = __box(value);
    }
    
    inline System::String*  DataSet3::StringDBRow::get_Content() {
        return (__try_cast<System::String*  >(this->Item[this->tableStringDB->ContentColumn]));
    }
    inline void DataSet3::StringDBRow::set_Content(System::String*  value) {
        this->Item[this->tableStringDB->ContentColumn] = value;
    }
    
    inline System::String*  DataSet3::StringDBRow::get_Note() {
        return (__try_cast<System::String*  >(this->Item[this->tableStringDB->NoteColumn]));
    }
    inline void DataSet3::StringDBRow::set_Note(System::String*  value) {
        this->Item[this->tableStringDB->NoteColumn] = value;
    }
    
    inline System::Int32 DataSet3::StringDBRow::get_SubType() {
        return (*__try_cast<__box System::Int32 *  >(this->Item[this->tableStringDB->SubTypeColumn]));
    }
    inline void DataSet3::StringDBRow::set_SubType(System::Int32 value) {
        this->Item[this->tableStringDB->SubTypeColumn] = __box(value);
    }
    
    inline System::Int32 DataSet3::StringDBRow::get_DirZoneID() {
        return (*__try_cast<__box System::Int32 *  >(this->Item[this->tableStringDB->DirZoneIDColumn]));
    }
    inline void DataSet3::StringDBRow::set_DirZoneID(System::Int32 value) {
        this->Item[this->tableStringDB->DirZoneIDColumn] = __box(value);
    }
    
    inline System::Int32 DataSet3::StringDBRow::get_DirTagID() {
        return (*__try_cast<__box System::Int32 *  >(this->Item[this->tableStringDB->DirTagIDColumn]));
    }
    inline void DataSet3::StringDBRow::set_DirTagID(System::Int32 value) {
        this->Item[this->tableStringDB->DirTagIDColumn] = __box(value);
    }
    
    inline System::Int32 DataSet3::StringDBRow::get_DirVersionID() {
        return (*__try_cast<__box System::Int32 *  >(this->Item[this->tableStringDB->DirVersionIDColumn]));
    }
    inline void DataSet3::StringDBRow::set_DirVersionID(System::Int32 value) {
        this->Item[this->tableStringDB->DirVersionIDColumn] = __box(value);
    }
    
    inline System::Boolean DataSet3::StringDBRow::get_Translate() {
        return (*__try_cast<__box System::Boolean *  >(this->Item[this->tableStringDB->TranslateColumn]));
    }
    inline void DataSet3::StringDBRow::set_Translate(System::Boolean value) {
        this->Item[this->tableStringDB->TranslateColumn] = __box(value);
    }
    
    
    inline DataSet3::StringDBRowChangeEvent::StringDBRowChangeEvent(ObjDataEdit::DataSet3::StringDBRow*  row, System::Data::DataRowAction action) {
        this->eventRow = row;
        this->eventAction = action;
    }
    
    inline ObjDataEdit::DataSet3::StringDBRow*  DataSet3::StringDBRowChangeEvent::get_Row() {
        return this->eventRow;
    }
    
    inline System::Data::DataRowAction DataSet3::StringDBRowChangeEvent::get_Action() {
        return this->eventAction;
    }
}
