Winform

[DevExpress] Master Detail 그리드 설정

캡틴노랑이 2015. 8. 31. 17:55
반응형


Grid
MasterDetail 설정

 

Dev에서 Master Detail 그리드 설정의 핵심은 다음이다.

관계에 대한 키만 같다면, 자동으로 바인딩 된다. 

키가 같지 않아도 바인딩은 된다. 하지만, 컬럼이 제대로 나오지 않는다.

 

GridLevelNode gridLevelNode = new DevExpress.XtraGrid.GridLevelNode();
gvDetail.OptionsDetail.EnableMasterViewMode = true;
gridLevelNode.LevelTemplate = gvDetail;
gridLevelNode.RelationName = "관계이름";                     //이름에 같아야 마스트 디테일 Gridview가 적용이됨.
gcStd.LevelTree.Nodes.Add(gridLevelNode);


_dsMaster.Relations.Add("관계이름", _dsMaster.Tables[0].Columns["키"], _dsMaster.Tables[1].Columns["키"]);

--------------------------------------------------------------------------------------



Grid 옵션
gvMaster.OptionsDetail.EnableMasterViewMode = true;
gvMaster.OptionsView.ShowAutoFilterRow = true;
gvMaster.OptionsView.EnableAppearanceEvenRow = true;
gvMaster.OptionsBehavior.EditorShowMode = EditorShowMode.Click;
gvMaster.OptionsView.ShowButtonMode = ShowButtonModeEnum.ShowOnlyInEditor;

gvDetail.OptionsDetail.EnableMasterViewMode = true;
gvDetail.OptionsBehavior.EditorShowMode = EditorShowMode.Click;
gvDetail.OptionsView.ShowButtonMode = ShowButtonModeEnum.ShowOnlyInEditor;

gcStd.UseEmbeddedNavigator = true;
gcStd.EmbeddedNavigator.Buttons.CancelEdit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Remove.Visible = false;
gcStd.EmbeddedNavigator.Buttons.EndEdit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Edit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Append.Visible = false;

gvMaster.GetDataRow(gvMaster.FocusedRowHandle)

//틀고정
gvMaster.Columns["ㅁ"].Fixed = FixedStyle.Left;
gvMaster.Columns["ㅠ"].Fixed = FixedStyle.Left;



//하단 내비
gcStd.UseEmbeddedNavigator = true;
gcStd.EmbeddedNavigator.Buttons.CancelEdit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Remove.Visible = false;
gcStd.EmbeddedNavigator.Buttons.EndEdit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Edit.Visible = false;
gcStd.EmbeddedNavigator.Buttons.Append.Visible = false;
반응형