/// <summary> /// 當選擇的分析項目改變時,觸發可選用的成分清單改變 /// </summary> private void OnPropChanged() { StringBuilder sqlString = new StringBuilder(); sqlString.AppendFormat("PROP_INDEX in ({0})", string.Join(",", _selectedProps.Select(x => "'" + x.Key + "'"))); _selectedCompViewModel = new SelectItemViewModel(); Dictionary <int, string> availableItems = _ds.Tables["PROP_COMP_INFO"].Select(sqlString.ToString()) .Select(x => new { Key = x.Field <int>("TEST_ITEM_INDEX"), Value = x.Field <string>("ITEM_NAME") }) .Distinct().ToDictionary(x => x.Key, x => x.Value); _selectedCompViewModel.AvailableItemList = availableItems; SelectedCompInfoString = ""; _selectedComps = null; }
/// <summary> /// 當選擇的分析儀器/方法改變時,觸發可選用的分析項目清單改變 /// </summary> private void OnCategoryChanged() { _selectedCompViewModel = new SelectItemViewModel(); // 如果更改分析儀器/方法,整個成分選取項要取消 string sqlstring = string.Format("CATE_NAME='{0}'", this.CATE_NAME); Dictionary <int, string> availableItems = _ds.Tables["PROPERTY_INFO"].Select(sqlstring, "PROD_NAME") .Select(x => new { Key = x.Field <int>("PROP_INDEX"), Value = x.Field <string>("PROD_NAME") }) .ToDictionary(x => x.Key, x => x.Value); _selectedPropViewModel.AvailableItemList = availableItems; SelectedPropInfoString = ""; _selectedProps = null; //_selectedCompViewModel = new SelectItemViewModel(); // 如果更改分析儀器/方法,整個成分選取項要取消 //availableItems = _ds.Tables["TEST_ITEM_INFO"].Rows.Cast<DataRow>() // .Select(x => new { Key = x.Field<int>("TEST_ITEM_INDEX"), Value = x.Field<string>("ITEM_NAME") }) // .ToDictionary(x => x.Key, x => x.Value); //_selectedCompViewModel.AvailableItemList = availableItems; //SelectedCompInfoString = ""; //_selectedComps = null; }