public void Revert(string stationid)
 {
     try
     {
         // 清空所有状态
         this.ClearAllState();
         this.Hide();
         if (m_proxyWaterFlowMap != null && stationid != "")
         {
             this.SetWaterFlowMap(m_proxyWaterFlowMap.QueryMapsByStationId(stationid));
             UpdateDataToUI();
         }
         this.Show();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.ToString());
     }
 }
Exemple #2
0
        private void listBox_StationName_SelectedIndexChanged(object sender, EventArgs e)
        {
            // 选择的列表项发生改变
            //if (listBox_StationName.SelectedIndex >= 0)
            //{
            string stationId = listBox_StationName.SelectedItem.ToString().Substring(1, 4).Trim();

            //if (m_strCurrentStationId != null)
            //{
            // 如果点击同一个站点,不管
            if (stationId == m_strCurrentStationId)
            {
                return;
            }
            // 不是第一次显示,需要保存当前的状态信息
            CDataGridViewWaterFlowMap.SStatus       status;
            CDataGridViewWaterFlowMap.SModifiedData data;
            // 先保存状态,然后再获取,否则出错
            //if (m_dgvMap.SaveStatus(out status) && m_dgvMap.GetAllModifiedData(out data))
            //{
            // 成功,保存状态
            //if (m_mapStationDGVStatus.ContainsKey(m_strCurrentStationId))
            //{
            //    m_mapStationDGVStatus[m_strCurrentStationId] = status;
            //}
            //else
            //{
            //    m_mapStationDGVStatus.Add(m_strCurrentStationId, status);
            //}

            //if (m_mapModifiedData.ContainsKey(m_strCurrentStationId))
            //{
            //    m_mapModifiedData[m_strCurrentStationId] = data;
            //}
            //else
            //{
            //    m_mapModifiedData.Add(m_strCurrentStationId, data);
            //}

            // 切换站点
            m_strCurrentStationId = stationId;

            List <CEntityWaterFlowMap> m_list = new List <CEntityWaterFlowMap>();

            m_list = m_proxyWaterFlowMap.QueryMapsByStationId(m_strCurrentStationId);
            m_dgvMap.InitDatas(m_strCurrentStationId, m_list);
            // 先初始化数据源,然后在恢复状态
            // m_dgvMap.InitDatas(m_strCurrentStationId, m_mapStationWaterFlow[stationId]);
            //if (m_mapStationDGVStatus.ContainsKey(m_strCurrentStationId))
            //{
            //    // 恢复表格状态
            //    m_dgvMap.RestoreStatus(m_mapStationDGVStatus[m_strCurrentStationId]);
            //}
            m_dgvMap.UpdateDataToUI();
            //}
            //else
            //{
            //    // 数据错误
            //    DialogResult result = MessageBox.Show("当前所做修改无效,是否放弃?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
            //    if (DialogResult.Cancel == result || DialogResult.No == result)
            //    {
            //        //  设置选中项为先前的站点,不做任何更改
            //        listBox_StationName.SelectedItem = GetDisplayStationName(CDBDataMgr.Instance.GetStationById(m_strCurrentStationId));
            //    }
            //    else if (DialogResult.Yes == result)
            //    {
            //        // 放弃当前修改,啥都不用做
            //        m_strCurrentStationId = stationId;
            //        m_dgvMap.InitDatas(m_strCurrentStationId, m_mapStationWaterFlow[stationId]);
            //    }
            //}

            //}
            //else
            //{
            //    // 也就是第一次点击站点,那么直接显示就行了,不需要保存状态之类的
            //    m_strCurrentStationId = stationId;
            //    m_dgvMap.InitDatas(m_strCurrentStationId, m_mapStationWaterFlow[stationId]);
            //}
            //}// end of is selectedindex >=0
        }