반응형

아래와 같이 ObservableCollection이 있다고 할때, 특정 Item만 찾아서 처리를 해야 할 경우

 

public struct PLU {
        
public int ID { get; set; }
        
public string name { get; set; }
        
public double price { get; set; }
        
public int quantity {get;set;}

}
public static ObservableCollection<PLU> PLUList = new ObservableCollection<PLU>();

 

PLU item = PLUList.Where(z => z.ID == 12).FirstOrDefault();

if (item != null)

{

//item이 있을 경우

}

else

{

//item이 존재하지 않을 경우

}

반응형
반응형

특정 일자간의 일 수 차이를 가져오는 방법이다.

간단하게 말하면 2019-01-09와 2019-01-08 일 간의 일 수 차이는 1일이 된다.

이렇게 차이나는 일 수를 가져오는 방법을 간략하게 구현해 보자.

통상 일자의 경우 DB에 저장할때 Date타입으로 저장하기도 하지만 8자리의 문자로 저장하기도 한다. ('20090109' 이런 식으로...)

 

현재일자를 기준으로 특정일자 와의 일 수 차이를 계산해 보도록 하자.

 

//현재 일자를 가져오는데...시간은 제외하고 일자만 가져온다.

//일자 저장 시에 시스템 일자를 저장한 DateTime 변수를 strTarget이라고 하자.

 

string strCrntDate = DateTime.Today.ToString("yyyy-MM-dd");

string strTargetDate = mArranged.ToString("yyyy-MM-dd");

 

//날짜만을 가지고 DateTime 타입의 변수를 생성해서 두 날짜 간의 minus 연산을 한다.

DateTime crntDate = Convert.ToDateTime(strCrntDate);
DateTime targetDate = Convert.ToDateTime(strTargetDate);
double chai = (crntDate - targetDate).TotalDays;

반응형
반응형

C1Component의 DataGrid에서 필터를 적용하고자 할 경우 아래와 같이 적용하면 된다.

 

//필터 삭제(초기화)
FilterExample.FilterBy(new DataGridColumnValue<DataGridFilterState>[0]);

 

//첫 번째 필터링

 

string exam1 = cboExam1.SelectedValue.ToString();

List<DataGridFilterInfo> filterInfoList1 = new List<DataGridFilterInfo>();
DataGridFilterState filterState1 = new DataGridFilterState();
filterInfoList1.Add(new DataGridFilterInfo() { FilterOperation = DataGridFilterOperation.Equal, FilterType = DataGridFilterType.Text, Value = exam1 });
filterState1.FilterInfo = filterInfoList1;

 

string exam2 = cboExam2.SelectedValue.ToString();

//두 번째 필터링 (AND)

List<DataGridFilterInfo> filterInfoList2 = new List<DataGridFilterInfo>();
DataGridFilterState filterState2 = new DataGridFilterState();
filterInfoList2.Add(new DataGridFilterInfo() { FilterOperation = DataGridFilterOperation.Equal, FilterCombination = DataGridFilterCombination.And,

                                                          FilterType = DataGridFilterType.Text, Value = exam2 });
filterState2.FilterInfo = filterInfoList2;

 

//2개의 필터를 KeyValuePair로 생성

KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>[] filters =

                    new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>[2];

filters[0] = new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>(FilterExample.Columns["EXAM_01"], filterState1);
filters[1] = new KeyValuePair<C1.WPF.DataGrid.DataGridColumn, DataGridFilterState>(FilterExample.Columns["EXAM_02"], filterState2);

 

//필터 적용

FilterExample.FilterBy(filters);

반응형

+ Recent posts