1,979
社区成员




DataSet ds = new DataSet();
ds.Tables.Add(VirtualDataSourceBuilding());
ds.Tables.Add(VirtualDataSourceFloor());
ds.Tables.Add(VirtualDataSourceRoom());
//设置栋座表和楼层表之间的关系
DataColumn keyColumnBuilding = ds.Tables["BuildingInfo"].Columns["id"];
DataColumn foreignKeyColumnFloor = ds.Tables["floor"].Columns["buildingID"];
ds.Relations.Add("buildingFloor", keyColumnBuilding, foreignKeyColumnFloor,false);
//设置楼层表和房间表之间的关系
DataColumn keyColumnFoor = ds.Tables["floor"].Columns["id"];
DataColumn foreignKeyColumnRoom = ds.Tables["room"].Columns["floorID"];
ds.Relations.Add("floorRoom", keyColumnFoor, foreignKeyColumnRoom, false);
//给GridControl绑定数据源
gridControl1.DataSource = ds.Tables["buildingInfo"];
gridControl1.ForceInitialize();
//Assign a GridView to the relationship
DevExpress.XtraGrid.Views.Grid.GridView gvFloor = new DevExpress.XtraGrid.Views.Grid.GridView(gridControl1);
gridControl1.LevelTree.Nodes.Add("buildingFloor", gvFloor);
DevExpress.XtraGrid.Views.Grid.GridView gvRoom = new DevExpress.XtraGrid.Views.Grid.GridView(gridControl1);
DevExpress.XtraGrid.Columns.GridColumn columnRoomID = new DevExpress.XtraGrid.Columns.GridColumn();
columnRoomID.FieldName = "roomID";
columnRoomID.Name = "columnRoomID";
columnRoomID.Caption = "房间编号";
DevExpress.XtraGrid.Columns.GridColumn columnFloorID = new DevExpress.XtraGrid.Columns.GridColumn();
columnFloorID.FieldName = "floorID";
columnFloorID.Name = "columnFloorID";
columnFloorID.Caption = "楼层编号";
DevExpress.XtraGrid.Columns.GridColumn columnRoomName = new DevExpress.XtraGrid.Columns.GridColumn();
columnRoomName.FieldName = "roomName";
columnRoomName.Name = "columnRoomName";
columnRoomName.Caption = "房间名称";
gvRoom.Columns.Add(columnRoomID);
gvRoom.Columns.Add(columnFloorID);
gvRoom.Columns.Add(columnRoomName);
gridControl1.LevelTree.Nodes.Add("floorRoom", gvRoom);
gvBuilding.Columns["id"].VisibleIndex = 1;
gvBuilding.Columns["buildingName"].Caption = "栋座名称";
gvBuilding.Columns["ruleName"].Caption = "栋座规则";
gvBuilding.Columns["floorsCount"].Caption = "楼层数";
//Create columns for the pattern view
gvFloor.PopulateColumns(ds.Tables["floor"]);
gvFloor.Columns["floorName"].Caption = "楼层名称";
gvFloor.Columns["property"].Caption = "楼层属性";
gvFloor.Columns["buildingID"].VisibleIndex = 1;
//Set a predefined color scheme for the Card View
//Color schemes are stored in the Windows\System32 folder by default
//in the DevExpress.XtraGrid.Appearances.xml file
string filePath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.System) +
"\\DevExpress.XtraGrid.Appearances.xml";
XAppearances xAppearances = new XAppearances(filePath);
xAppearances.LoadScheme("Winter", gvFloor);
gvFloor.PaintStyleName = "MixedXP";
xAppearances.LoadScheme("Winter", gvBuilding);
gvBuilding.PaintStyleName = "MixedXP";
this.gvBuilding.OptionsView.ShowGroupPanel = false;
gvFloor.OptionsView.ShowGroupPanel = false;
//禁止删除列
gvBuilding.OptionsCustomization.AllowColumnMoving = false;
gvFloor.OptionsCustomization.AllowColumnMoving = false;
//禁止添加行
gvBuilding.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False;
gvFloor.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False;
//设置标题
gvBuilding.ViewCaption = "栋座信息";
gvFloor.ViewCaption = "楼层信息";
gvRoom.ViewCaption = "房号信息";