private void LineTypeDataTable_ColumnChanged(object sender, DataColumnChangeEventArgs e)
            {
                if (stayOut)
                {
                    return;
                }

                stayOut = true;
                LineTypeRow row = e.Row as LineTypeRow;
                string      tmp;
                int         maxLen;

                if (e.Column.ColumnName == "name")
                {
                    tmp    = e.ProposedValue as string;
                    maxLen = this.nameColumn.MaxLength;

                    if (tmp.Length > maxLen)
                    {
                        row.name = tmp.Substring(0, maxLen);
                    }
                }

                stayOut = false;
            }
            ///////////////////////////////////////////////////////////////////////
            //   Internal Events
            ///////////////////////////////////////////////////////////////////////
            private void LineTypeDataTable_TableNewRow(object sender, DataTableNewRowEventArgs e)
            {
                stayOut = true;
                LineTypeRow lineTypeRow = e.Row as LineTypeRow;

                lineTypeRow.id   = newID++;
                lineTypeRow.name = "";

                stayOut = false;
            }
        public int myImportLineType(string typeName)
        {
            if (string.IsNullOrEmpty(typeName))
            {
                return(SpclLineType.NULL);
            }

            // Replace the known bad Quicken names.
            switch (typeName)
            {
            case "DEBIT":
                typeName = "Debit";
                break;

            case "DEP":
                typeName = "Deposit";
                break;

            case "TXFR":
                typeName = "Transfer";
                break;
            }

            // Search for an exsisting Line type with the same name
            foreach (LineTypeRow row in this.LineType)
            {
                if (row.name == typeName)
                {
                    return(row.id);
                }
            }

            // else it was not found
            LineTypeRow newRow = this.LineType.NewLineTypeRow();

            newRow.name = typeName;

            this.LineType.AddLineTypeRow(newRow);

            return(newRow.id);
        }