Microsoft MVP성태의 닷넷 이야기
글쓴 사람
흰털너부리
홈페이지
첨부 파일

안녕하세요.

wpf mvvm viewmodel에서 ObservableCollection을 사용 중입니다.

디비 조회등 다른 작업 결과를 list로 받고
무조건 ObservableCollection을 지우고 모든 데이터를 ObservableCollection에 넣었습니다.

성능 개선을 위해
변경 사항이 있는 것만 ObservableCollection에서 갱신하려고 합니다.

list 맴버 전체를 반복문으로 돌리고
ObservableCollection에서 FirstOrDefault를 사용해 비교 했습니다.
같은 값이 들어와도 항상 null을 반환합니다.

사진은 디버그로 같은 값인지 확인해 본내용입니다.


 private void SyncUserUI()
        {
처음에는 이렇게
            _userUIService!.SetUserUIs();
            UserUIs.Clear();
            _userUIService._userUIs.ForEach(u => UserUIs.Add(u));

이렇게 개선... 안됨
            _userUIService!.SetUserUIs();

            if (UserUIs.Count < 1)
            {
                UserUIs.Clear();
                _userUIService!._userUIs.ForEach(u => UserUIs.Add(u));
            }

            //List<UserUI> oldChange = UserUIs.Except(_userUIService!._userUIs, new DataCompare()).ToList();

            foreach (var item in _userUIService!._userUIs)
            {
                if (item.EmployeeNumber!.Equals("1") || item.EmployeeNumber.Equals("10"))
                {
                    var item3 = UserUIs.FirstOrDefault(u => u == item);
                }

                var item2 = UserUIs.FirstOrDefault(u => u == item);
                //완전히 같으면 넘어감
                if (item2 != null)
                {
                    //UserUIs.Remove(item);
                    //UserUIs.Add(item);
                }
                else
                {//완전히 같지 안으면
                    UserUIs.Remove(item2!);
                    UserUIs.Add(item);
                }
            }
            //UserUIs = UserUIs.OrderByDescending(x => x.Card);
        }








[최초 등록일: ]
[최종 수정일: 11/24/2022]


비밀번호

댓글 작성자
 



2022-11-24 10시28분
FirstOrDefault에 넘긴 u와 item의 타입이 UserUI인 것 같은데요, 그 타입의 Equals 메서드는 재정의하신 건가요?
정성태
2022-11-24 10시37분
[흰털너부리] 재정의 안했습니다.
감사합니다. 확인해보겠습니다
[guest]
2022-11-24 10시49분
[흰털너부리] 리스트 2개를 sync를 맞추는 좋은 방법 있으면 가이드 부탁드립니다.
재방법은 뭔가 수동이고 비효율적 이게 보여서요...
[guest]
2022-11-24 11시06분
정성태

... 76  77  78  79  80  81  82  83  84  85  86  [87]  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
297정성태1/4/200611869    답변글 [답변]: 스마트클라이언트에서 COM+를 이용한 데이터 가져 오기.. [2]
295이경호12/22/200510192스마트 클라이언트 관련 고견을 듣고자 합니다. [1]
294김성국12/21/200512078^^ 오늘 첨 방문했습니다. [2]
292궁금해요12/16/200511177c#으로 개발된 ie 임베디드 smart client를 php페이지에서 사용이 가능한가요?
293정성태12/21/200511830    답변글 [답변]: c#으로 개발된 ie 임베디드 smart client를 php페이지에서 사용이 가능한가요?
290이종은12/16/200518678개체가 이 속성 또는 메서드를 지원하지 않습니다. [3]
289이진우12/14/200512456스마트 클라이언트 개념.. [1]
288박찬용12/13/200511532질문 한개만 할께요.. 아시면 꼭 답변 부탁드려요 [1]
287꼬마마법...12/13/200512184안녕하세요..죄송합니다. 다시 한번 봐주시면.. 감사 드리겠습니다. [2]
286정준명12/12/200511975윈폼 관리(?)에 대한 고민. [1]
285꼬마마법사12/10/200510533안녕하세요.. [1]
284코디12/8/200510824[질문] 스마트클라이언트 다운로드중에...... [1]
283foot...12/7/200510309스마트 클라이언트 질문 입니다. ㅜㅜ [2]
279박상규12/6/200511070스마트 클라이언트에 관해 질문좀 드릴께요..
280정성태12/6/200510921    답변글 [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요..
281박상규12/7/200512138        답변글 [답변]: [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요.. [2]
282정성태12/7/200510736            답변글 [답변]: [답변]: [답변]: 스마트 클라이언트에 관해 질문좀 드릴께요..
276하수12/2/200510500스마트 클라이언트 프로그램을 만들려면.. [1]
271정준명11/20/200512549스마트클라이언트 구현에 대해서 조언을 듣고자 합니다. [5]
269상수11/18/200510828vs2005를 사용하고 있습니다. [1]
270상수11/18/200510262    답변글 [답변]: vs2005를 사용하고 있습니다. [1]파일 다운로드1
272상수11/21/20059745        답변글 [답변]: [답변]: ㅈㅅ여.. 인터넷이 사용이 안돼서리..dll을 치면 나타나는 현상 [1]
268상수11/17/20059938vs2005를 사용하고 있는데.. [1]
26711/16/200511368COM+ 의 활성화 상태... [1]
273정성태11/24/200510388    답변글 [답변]: COM+ 의 활성화 상태...
27411/25/200510333        답변글 답변 감사드립니다.
... 76  77  78  79  80  81  82  83  84  85  86  [87]  88  89  90  ...