public void baseManufacturingBtn_Click(object sender, EventArgs e)
        {
            ItemManufacturingRecordManager itemManufacturingRecordManager = (ItemManufacturingRecordManager)m_gui.getTableInfo(frmItems.SingleTableEditor.Manufacturing).m_tableIO.getRecordManager();

            Net7_Tools.Gui.frmManufacturing manufacturingDlg = itemManufacturingRecordManager.getManufacturingDlg();
            manufacturingDlg.setItemId(m_gui.getCurrentEditor().getPrimaryId());
            manufacturingDlg.ShowDialog();
        }
        private TableIO initializeItemManufacturing(ISearchDialog itemSearchDialog)
        {
            Net7_Tools.Gui.frmManufacturing manufacturingDlg = new Net7_Tools.Gui.frmManufacturing();
            ItemManufacturingRecordManager itemRecordManager = new ItemManufacturingRecordManager(manufacturingDlg, this);
            TableIO tableIO = new TableIO(this, itemRecordManager);
            manufacturingDlg.setTableIO(tableIO);
            DataBinding dataBinding;

            dataBinding = tableIO.bind(manufacturingDlg.manufacturingCboDifficulty, Net7.Table_item_manufacture._difficulty, "Difficulty Level");
            dataBinding.addValidation(new ValidateNumericInsideRange(1, 9));

            //dataBinding.addValidation(new ValidateInTable(Net7_db.Tables.item_base.ToString(), DB.getQueryItem(itemId));
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent1, Net7.Table_item_manufacture._comp_1, "Component 1", false);
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent2, Net7.Table_item_manufacture._comp_2, "Component 2", false);
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent3, Net7.Table_item_manufacture._comp_3, "Component 3", false);
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent4, Net7.Table_item_manufacture._comp_4, "Component 4", false);
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent5, Net7.Table_item_manufacture._comp_5, "Component 5", false);
            dataBinding = tableIO.bind(manufacturingDlg.manufacturingTxtComponent6, Net7.Table_item_manufacture._comp_6, "Component 6", false);

            // Initialize the manufacturing difficulty levels
            manufacturingDlg.manufacturingCboDifficulty.Items.Clear();
            manufacturingDlg.manufacturingCboDifficulty.Items.AddRange(Database.Database.getItemManufacturingLevels());

            // Configure the 6 component fields, search buttons, and descriptions
            FieldSearchDescription.Data fieldSearchDescriptionData
                    = new FieldSearchDescription.Data(
                            itemRecordManager,
                            itemSearchDialog,
                            Database.Database.getQueryItem_param(),
                            DB.QueryParameterCharacter + ColumnData.GetName(Net7.Table_item_base._id),
                            Net7.Table_item_base._name);
            itemRecordManager.setFieldSearchDescriptionData(fieldSearchDescriptionData);
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent1, manufacturingDlg.manufacturingBtnComponent1, manufacturingDlg.manufacturingTxtComponentDesc1));
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent2, manufacturingDlg.manufacturingBtnComponent2, manufacturingDlg.manufacturingTxtComponentDesc2));
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent3, manufacturingDlg.manufacturingBtnComponent3, manufacturingDlg.manufacturingTxtComponentDesc3));
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent4, manufacturingDlg.manufacturingBtnComponent4, manufacturingDlg.manufacturingTxtComponentDesc4));
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent5, manufacturingDlg.manufacturingBtnComponent5, manufacturingDlg.manufacturingTxtComponentDesc5));
            itemRecordManager.addComponentFields(new FieldSearchDescription.Fields(manufacturingDlg.manufacturingTxtComponent6, manufacturingDlg.manufacturingBtnComponent6, manufacturingDlg.manufacturingTxtComponentDesc6));

            tableIO.initialize(Net7.Tables.item_manufacture.ToString(), Net7.Table_item_manufacture._item_id, Database.Database.getQueryManufacturing());

            return tableIO;
        }