private void btnDataStreamRemove_Click(object sender, EventArgs e) { if (dataGrid.SelectedDataRows.Length > 0) { _DataStreamInfo cInfo = dataGrid.SelectedDataRows[0] as _DataStreamInfo; if (dataGrid.Rows.Count > 2 && cInfo != null) { int iIndex = cInfo.DataStream - 1; if (cInfo.IsNewSetting) { __cScriptSetting.DataRequests.RemoveAt(iIndex); __cCharts.RemoveAt(iIndex); source.RemoveAt(iIndex); int iCount = source.Count; for (int i = iIndex; i < iCount; i++) { _DataStreamInfo cData = source[i] as _DataStreamInfo; cData.DataStream = i + 1; } } else { __cModifyRemoveItems.Add(iIndex); dataGrid.Rows.HideRow(cInfo.DataStream); } source.Refresh(); } bool bEnabled = source.Count > 0; btnOK.Enabled = bEnabled; btnDataStreamRemove.Enabled = bEnabled; } }
private void btnDataStreamEdit_Click(object sender, EventArgs e) { if (dataGrid.SelectedDataRows.Length > 0) { _DataStreamInfo cInfo = dataGrid.SelectedDataRows[0] as _DataStreamInfo; if (cInfo != null) { int iIndex = cInfo.DataStream - 1; int iDataStream = source.Count; frmCreateScriptSetting frmCreateScriptSetting = new frmCreateScriptSetting(__cCharts[iIndex], __cScriptSetting.DataRequests[iIndex], cInfo.IsNewSetting); frmCreateScriptSetting.MaxLayerCount = __iMaxLayerIndex + 1; //最大圖層個數=最大圖層索引 + 1 DialogResult cResult = frmCreateScriptSetting.ShowDialog(); frmCreateScriptSetting.Dispose(); if (cResult == DialogResult.OK) { ChartSetting cChartSetting = frmCreateScriptSetting.ChartSetting; RequestSetting cRequestSetting = frmCreateScriptSetting.RequestSetting; ModifyDataStreamInfo(cInfo, cChartSetting, cRequestSetting); source.Refresh(); } } } }
private static void ModifyDataStreamInfo(_DataStreamInfo info, ChartSetting chart, RequestSetting request) { string[] sRanges = GetRequestRanges(request.Range); info.SymbolId = request.SymbolId; info.Range = string.Format("{0} {1}", sRanges[1], (sRanges[0][0] == 'f') ? string.Empty : sRanges[0]); info.LastDate = sRanges[2]; info.Period = request.DataPeriod; info.SubChart = (chart.IsSubChart) ? string.Format("SubChart #{0}", chart.LayerIndex + 1) : "Hide"; }
private static _DataStreamInfo CreateDataStreamInfo(int dataStream, ChartSetting chart, RequestSetting request, bool isNewSetting) { string[] sRanges = GetRequestRanges(request.Range); _DataStreamInfo cInfo = new _DataStreamInfo(); cInfo.DataStream = dataStream; cInfo.SymbolId = request.SymbolId; cInfo.Range = string.Format("{0} {1}", sRanges[1], (sRanges[0][0] == 'f') ? string.Empty : sRanges[0]); cInfo.LastDate = sRanges[2]; cInfo.Period = request.DataPeriod; cInfo.SubChart = (chart.IsSubChart) ? string.Format("SubChart #{0}", chart.LayerIndex + 1) : "Hide"; cInfo.IsNewSetting = isNewSetting; return(cInfo); }
private void btnCancel_Click(object sender, EventArgs e) { if (__cProfile != null) { //檢查是否有新增的資料(如果有新增資料就移除) int iCount = source.Count; for (int i = 0; i < iCount; i++) { _DataStreamInfo cInfo = source[i] as _DataStreamInfo; if (cInfo.IsNewSetting) { __cCharts.RemoveAt(i); __cScriptSetting.DataRequests.RemoveAt(i); } } } this.DialogResult = DialogResult.Cancel; }