markus / ConvertService / ServiceBase / Markus.Service.StationController / Controls / RowIndexColumn.cs @ 80391351
이력 | 보기 | 이력해설 | 다운로드 (1.89 KB)
1 | a34f58f6 | taeseongkim | 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 | e6281033 | alzkakdixm | /// <summary> |
12 | /// 그리드 row 숫자 출력 |
||
13 | /// </summary> |
||
14 | |||
15 | a34f58f6 | taeseongkim | public class RowIndexColumn : Telerik.Windows.Controls.GridViewColumn |
16 | { |
||
17 | public override FrameworkElement CreateCellElement(Telerik.Windows.Controls.GridView.GridViewCell cell, object dataItem) |
||
18 | { |
||
19 | TextBlock textBlock = cell.Content as TextBlock; |
||
20 | |||
21 | if (textBlock == null) |
||
22 | { |
||
23 | textBlock = new TextBlock(); |
||
24 | } |
||
25 | |||
26 | dfc86b71 | taeseongkim | textBlock.Dispatcher.Invoke(() => { |
27 | textBlock.Text = string.Format("{0}", this.DataControl.Items.IndexOf(dataItem) + 1); |
||
28 | }); |
||
29 | a34f58f6 | taeseongkim | |
30 | return textBlock; |
||
31 | } |
||
32 | |||
33 | protected override void OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) |
||
34 | { |
||
35 | base.OnPropertyChanged(args); |
||
36 | |||
37 | if (args.PropertyName == "DataControl") |
||
38 | { |
||
39 | if (this.DataControl != null && this.DataControl.Items != null) |
||
40 | { |
||
41 | this.DataControl.Items.CollectionChanged += (s, e) => |
||
42 | { |
||
43 | if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove) |
||
44 | { |
||
45 | 2decfbdf | alzkakdixm | this.Dispatcher.InvokeAsync(() => this.Refresh()); |
46 | //이거 때믄에 row 개수 옮길때 ex)200개 -> 50개 할때 에러 하지만 이게 있어야 row컨버터 후 삭제 및 다시add 할때 index번호가 들어감 |
||
47 | //후 조취: 그냥 에러부분을 messagebox가 아닌 오류 목록에 놨음 |
||
48 | a34f58f6 | taeseongkim | } |
49 | }; |
||
50 | } |
||
51 | } |
||
52 | } |
||
53 | } |
||
54 | } |