프로젝트

일반

사용자정보

통계
| 브랜치(Branch): | 개정판:

markus / ConvertService / ServiceBase / Markus.Service.StationController / Controls / RowIndexColumn.cs @ 2decfbdf

이력 | 보기 | 이력해설 | 다운로드 (1.75 KB)

1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6
using System.Windows;
7
using System.Windows.Controls;
8

    
9
namespace Markus.Service.StationController.Controls
10
{
11
    public class RowIndexColumn : Telerik.Windows.Controls.GridViewColumn
12
    {
13
        public override FrameworkElement CreateCellElement(Telerik.Windows.Controls.GridView.GridViewCell cell, object dataItem)
14
        {
15
            TextBlock textBlock = cell.Content as TextBlock;
16

    
17
            if (textBlock == null)
18
            {
19
                textBlock = new TextBlock();
20
            }
21

    
22
            textBlock.Text = string.Format("{0}", this.DataControl.Items.IndexOf(dataItem) + 1);
23

    
24
            return textBlock;
25
        }
26

    
27
        protected override void OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args)
28
        {
29
            base.OnPropertyChanged(args);
30

    
31
            if (args.PropertyName == "DataControl")
32
            {
33
                if (this.DataControl != null && this.DataControl.Items != null)
34
                {
35
                    this.DataControl.Items.CollectionChanged += (s, e) =>
36
                    {
37
                        if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
38
                        {
39
                            this.Dispatcher.InvokeAsync(() => this.Refresh());
40
                            //이거 때믄에 row 개수 옮길때  ex)200개 -> 50개 할때 에러 하지만 이게 있어야 row컨버터 후 삭제 및 다시add 할때 index번호가 들어감
41
                            //후 조취: 그냥 에러부분을 messagebox가 아닌 오류 목록에 놨음
42
                        }
43
                    };
44
                }
45
            }
46
        }
47
    }
48
}
클립보드 이미지 추가 (최대 크기: 500 MB)