/// <summary>
        /// Fills the data type column according to the type of structure selected,
        /// the ID of that structure, and the interval that is selected. </summary>
        /// <param name="row"> the row of the data type column that is being dealt with </param>
        /// <param name="outputOnly"> whether to only display OUTPUT data types. </param>
        /// <param name="station_type"> the type of the station (column _COL_STATION_TYPE) </param>
        /// <param name="id"> the ID of the station (column _COL_ID) </param>
        /// <param name="interval_string"> the data interval (column _COL_INTERVAL ) </param>
        public virtual void fillDataTypeColumn(int row, bool outputOnly, string station_type, string id, string interval_string)
        {
            System.Collections.IList dataTypes = new List <object>();
            int interval = TimeInterval.MONTH;

            if (interval_string.Equals("Day", StringComparison.OrdinalIgnoreCase))
            {
                interval = TimeInterval.DAY;
            }

            if (station_type.Equals(StateMod_Util.STATION_TYPE_DIVERSION, StringComparison.OrdinalIgnoreCase))
            {
                dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_DIVERSION_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
            }
            else if (station_type.Equals(StateMod_Util.STATION_TYPE_INSTREAM_FLOW, StringComparison.OrdinalIgnoreCase))
            {
                dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_INSTREAM_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
            }
            else if (station_type.Equals(StateMod_Util.STATION_TYPE_RESERVOIR, StringComparison.OrdinalIgnoreCase))
            {
                if (outputOnly)
                {
                    dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_RESERVOIR_STATIONS, id, __dataset, "", interval, false, false, true, true, false, true);
                }
                else
                {
                    dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_RESERVOIR_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
                }
            }
            else if (station_type.Equals(StateMod_Util.STATION_TYPE_STREAMGAGE, StringComparison.OrdinalIgnoreCase))
            {
                dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_STREAMGAGE_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
            }
            else if (station_type.Equals(StateMod_Util.STATION_TYPE_STREAMESTIMATE, StringComparison.OrdinalIgnoreCase))
            {
                dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_STREAMESTIMATE_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
            }
            else if (station_type.Equals(StateMod_Util.STATION_TYPE_WELL, StringComparison.OrdinalIgnoreCase))
            {
                dataTypes = StateMod_Util.getTimeSeriesDataTypes(StateMod_DataSet.COMP_WELL_STATIONS, id, __dataset, "", interval, true, true, true, true, false, true);
            }

            if (__worksheet != null)
            {
                __worksheet.setCellSpecificJComboBoxValues(row, _COL_DATA_TYPE, dataTypes);
                System.Collections.IList v = __worksheet.getCellSpecificJComboBoxValues(row, _COL_DATA_TYPE);
                string s = null;
                if (v == null || v.Count == 0)
                {
                    s = "";
                }
                else
                {
                    s = (string)v[0];
                }
                setInternalValueAt(s, row, _COL_DATA_TYPE);
            }
        }