개발-WPF.MVVM

조건검색 LookUpEdit 사용하기

생각하는손 2021. 4. 7. 15:29

 

1. Model

public class Dept : BaseModel
{
      /*
      * (참고) BaseModel의 속성(멤버)
      * 1. Rid?
      * 2. CompanyRid
      * 3. Able
      * 4. Sort
      * 5. Remark
      * 6. CreatedDttm
      * 7. CreateUserId
      * 8. ModifiedDttm
      * 9. ModifiedUserId
      * 10. RowState
      */

      public long? ParentDeptRid { get; set; }
      public string DeptId { get; set; }
      public string DeptNm { get; set; }

      public Dept() : base() { }

      public Dept(RowState rowState) : this()
      {
      RowState = rowState;
      }
}

 

2. View

<dxg:LookUpEdit x:Name="ConDept"
                ItemsSource="{Binding ConDeptList, Mode=TwoWay}"
                EditValue="{Binding ConDeptRid, Mode=TwoWay}"
                ValueMember="Rid"
                DisplayMember="DeptNm"
                Style="{StaticResource OraConditionLookUpEditStyle}">
                
    <dxg:LookUpEdit.PopupContentTemplate>
    
        <ControlTemplate>
            <dxg:GridControl x:Name="PART_GridControl">
            
                <dxg:GridControl.View>
                	<dxg:TableView Style="{StaticResource OraLookUpEditTableViewStyle}"/>
                </dxg:GridControl.View>
                
                <dxg:GridControl.Columns>
                	<dxg:GridColumn FieldName="DeptNm"/>
                </dxg:GridControl.Columns>
                
            </dxg:GridControl>
            
        </ControlTemplate>
        
    </dxg:LookUpEdit.PopupContentTemplate>

</dxg:LookUpEdit>

ControlTemplate 의 GridControl을 x:Name 은 무조건 PART_GridControl 이여야 한다. (Dev UI Controller에서 내부적으로 사용하므로 변경하면 안됨.) 

 

3. ViewModel

 

public ObservableCollection<Dept> ConDeptList { get; set; }
public long ConDeptRid { get; set; }

public override void SetConditions()
{

    var reqDto = new SearchDeptListReqDto()
    {
        ParentDeptRid = null,
        DeptId = string.Empty,
        DeptNm = string.Empty,
        Able = true
    };
    
    var result = mdDeptService.SearchDeptList(reqDto);
    
    result.Insert(0, new Dept() { Rid = 0, DeptNm = "전체" });
    this.ConDeptList = new ObservableCollection<Dept>(result);
    this.ConDeptRid = 0;

}

1) 검색조건에 "전체"를 포함할 경우 ( Rid=0, DeptNm="전체" 인 Dept 객체를 추가한다.)

 

 

 

2021.04.07 - [개발 - WPF.MVVM] - GridControl의 Column에 ComboBoxEdit 사용하기

 

GridControl의 Column에 ComboBoxEdit 사용하기

1. Model public class Code : BaseModel { ..... public string CodeId { get; set; } public string CodeNm { get; set; } ...... } public class Employee : BaseModel { ...... public string HoldTyCd { get..

thinkinginhands.tistory.com