Esempio n. 1
0
        private void FileListView_SelectionChange(object sender, SelectionChangedEventArgs e)
        {
            ListView listView = sender as ListView;

            if (listView != null)
            {
                ExcelFileListItem item = listView.SelectedItem as ExcelFileListItem;
                _excelItemChoosed = item;
            }
            _IDItemSelected = null;
            if (_excelItemChoosed == null)
            {
                idListView.ItemsSource       = null;
                propertyDataGrid.ItemsSource = null;
                checkBox_changed.IsEnabled   = false;
                checkBox_changed.IsChecked   = false;
            }
            else
            {
                propertyDataGrid.ItemsSource = null;
                idListView.ItemsSource       = GlobalCfg.Instance.GetIDList(_excelItemChoosed.FilePath);
                GlobalCfg.Instance.ResetPreviousIsNeedGen();
                checkBox_changed.IsEnabled = true;
                checkBox_changed.IsChecked = false;
            }
            JudgeMultiFuncBtnState();
            EditingModeRender();
            if (listView != null && idListView.ItemsSource == null)
            {
                listView.SelectedItem = null;
            }
        }
Esempio n. 2
0
        private void FileListView_SelectionChange(object sender, SelectionChangedEventArgs e)
        {
            ListView          listView = sender as ListView;
            ExcelFileListItem item     = listView.SelectedItem as ExcelFileListItem;

            _listItemChoosed = item;
            if (item == null)
            {
                return;
            }
            _IDItemSelected = null;
            JudgeMultiFuncBtnState();
            idListView.ItemsSource       = null;
            propertyDataGrid.ItemsSource = null;
            ResetGenBtnEnable();
            idListView.ItemsSource = GlobalCfg.Instance.GetIDList(item.FilePath);
            ResetGenBtnState();
        }
Esempio n. 3
0
        private void FilterItems(ListView list)
        {
            switch (list.Name)
            {
            case "excelListView":
                ObservableCollection <ExcelFileListItem> excelRes = excelFiles;
                if (IsCheckEditing)
                {
                    excelRes = GetFilteredCollection(excelRes, FILTER_BY_EDITING);
                }
                list.ItemsSource = excelRes;
                if (IsSearchingExcel)
                {
                    excelRes = GetMatchItem(excelRes, excelSearchKey);
                }
                list.ItemsSource = excelRes;
                break;

            case "idListView":
                if (_excelItemChoosed == null)
                {
                    return;
                }
                ObservableCollection <IDListItem> idRes = GlobalCfg.Instance.GetIDList(_excelItemChoosed.FilePath);
                if (IsCheckChanged)
                {
                    idRes = GetFilteredCollection(idRes, FILTER_BY_STATES);
                }
                list.ItemsSource = idRes;
                if (IsSearchingId)
                {
                    idRes = GetMatchItem(idRes, idSearchKey);
                }
                list.ItemsSource = idRes;
                break;
            }
            #region 获得搜索数据
            ObservableCollection <T> GetMatchItem <T>(ObservableCollection <T> sourceItem, string input)
            {
                bool IsMatchFromStart = true;

                if (input.StartsWith("*"))
                {
                    IsMatchFromStart = false;
                    input            = input.Substring(1);
                }
                ObservableCollection <T> searchRes = new ObservableCollection <T>();

                for (int i = 0; i < sourceItem.Count; i++)
                {
                    T      item = (T)sourceItem[i];
                    string ss   = null;
                    if (item is ExcelFileListItem)
                    {
                        ExcelFileListItem excelItem = item as ExcelFileListItem;
                        ss = excelItem.Name;
                    }
                    else if (item is IDListItem)
                    {
                        IDListItem idItem = item as IDListItem;
                        ss = idItem.IdDisplay;
                    }
                    else
                    {
                        return(null);
                    }
                    if (StringHelper.StringMatch(ss, input, IsMatchFromStart, false))
                    {
                        searchRes.Add(item);
                    }
                }
                return(searchRes);
            }

            #endregion
            #region 获得过滤后数据
            ObservableCollection <T> GetFilteredCollection <T>(ObservableCollection <T> sourceItem, string filterBy)
            {
                ObservableCollection <T> filteredCollection = new ObservableCollection <T>();

                for (int j = 0; j < sourceItem.Count; j++)
                {
                    T item = (T)sourceItem[j];
                    if (item is ExcelFileListItem && filterBy == FILTER_BY_EDITING)
                    {
                        ExcelFileListItem excelItem = item as ExcelFileListItem;
                        if (excelItem.IsEditing)
                        {
                            filteredCollection.Add(item);
                        }
                    }
                    else if (item is IDListItem)
                    {
                        IDListItem idItem = item as IDListItem;
                        if (filterBy == FILTER_BY_STATES)
                        {
                            for (int i = 0; i < idItem.States.Count; i++)
                            {
                                if (idItem.States[i] != "")
                                {
                                    filteredCollection.Add(item);
                                    break;
                                }
                                else if (idItem.IsApplys[i])
                                {
                                    filteredCollection.Add(item);
                                    break;
                                }
                            }
                        }
                    }
                }
                return(filteredCollection);
            }

            #endregion
        }