/// <summary> /// /// </summary> /// <param name="nvcName"></param> /// <param name="viewerName"></param> /// <param name="editorName"></param> /// <param name="editorFilter"></param> public void SetDataBinding(string nvcName, string viewerName, string editorName, string editorFilter) { if (NameValueMappingCollection.Instance[viewerName].ValueMember != NameValueMappingCollection.Instance[editorName].ValueMember) { throw new ArgumentException(viewerName + "'s ValueMember and " + editorName + "' ValueMember should be same!", "viewerName"); } string editTopNvName = NameValueMappingCollection.Instance.FindTopParentNv(editorName); //if (viewerName != editorName) //{ // string viewTopNvName = NameValueMappingCollection.Instance.FindTopParentNv(viewerName); // if (editTopNvName != viewTopNvName) // { // throw new ArgumentException(viewerName + "'s TopNv and " + editorName + "' TopNv should be same!"); // } //} this.m_nvcName = nvcName; this.m_editorNvName = editorName; this.m_layoutName = MyComboBox.GetGridNameForNv(viewerName + "_" + editorName + "_" + editorFilter, true); this.SetDataBinding(NameValueMappingCollection.Instance.GetDataSource(nvcName, viewerName, string.Empty), string.Empty); m_editTopNv = NameValueMappingCollection.Instance[editTopNvName]; // more call SetDataBinding m_editTopNv.DataSourceChanged -= new EventHandler(MyComboBox_DataTableChanged); m_editTopNv.DataSourceChanged += new EventHandler(MyComboBox_DataTableChanged); m_editTopNv.DataSourceChanging -= new System.ComponentModel.CancelEventHandler(MyComboBox_DataTableChanging); m_editTopNv.DataSourceChanging += new System.ComponentModel.CancelEventHandler(MyComboBox_DataTableChanging); if (viewerName != editorName || !string.IsNullOrEmpty(editorFilter)) { m_needFilter = true; m_filterData = NameValueMappingCollection.Instance.GetDataSource(nvcName, editorName, editorFilter); FilterEditRow(); } }