//新增集合完成后 void cdgvAthleteInfo_AddGroupCompleted(object group, CollapseDataGridViewEventArgs e) { if (e.Result) { //TODO:展示已新增数据,或设置CollapseDataGirdView其他属性,如只读等 AthleteItemList singleGroup = group as AthleteItemList; if (singleGroup != null) { MessageBox.Show ( this, "已成功新增集合" + "\r\n驻扎酒店:" + ((singleGroup.Hotel != null) ? singleGroup.Hotel : "暂无") + "\r\n大巴车牌:" + ((singleGroup.BusNo != null) ? singleGroup.BusNo : "暂无") + "\r\n休息室号:" + ((singleGroup.RestRoomNo != null) ? singleGroup.RestRoomNo : "暂无") + "\r\n成员数:" + singleGroup.Count, "新增集合提示信息" ); } } else { MessageBox.Show(e.ErrorMessage); //TODO: 出现错误后,可以清空CollapseDataGridView的DataSource后重新绑定 } }
//向选中行所在的集合上方插入一个集合 private void btnInsertGroup_Click(object sender, EventArgs e) { AthleteItemList testList = new AthleteItemList(); testList.Hotel = "Marriott Hotel"; testList.BusNo = "浙A 345678"; testList.RestRoomNo = "1025"; string strCurrentTime = DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString(); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Male", Name = "TEST", Height = new Random(DateTime.Now.Minute).Next(150, 200), Weight = new Random(DateTime.Now.Minute).Next(45, 90), Item = "Certain item" }); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Female", Name = "TEST", Height = new Random(DateTime.Now.Second).Next(150, 200), Weight = new Random(DateTime.Now.Second).Next(45, 90), Item = "Certain item" }); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Female", Name = "TEST", Height = new Random(DateTime.Now.Millisecond).Next(150, 200), Weight = new Random(DateTime.Now.Millisecond).Next(45, 90), Item = "Certain item" }); //列表为空,不允许插入 if (this.cdgvAthleteInfo.SelectedRows.Count > 0) { this.cdgvAthleteInfo.InsertGroup <AthleteItemList, Athlete>(testList); } else { //TODO:自定义的操作,比如插入新组或提示信息 MessageBox.Show("列表为空或为选中要插入的位置!"); } }
//在最后一个集合之后新增一个集合 private void btnAddGroup_Click(object sender, EventArgs e) { AthleteItemList testList = new AthleteItemList(); testList.Hotel = "Marriott Hotel"; testList.BusNo = "浙A 345678"; testList.RestRoomNo = "1025"; string strCurrentTime = DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString(); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Male", Name = "TEST", Height = new Random(DateTime.Now.Minute).Next(150, 200), Weight = new Random(DateTime.Now.Minute).Next(45, 90), Item = "Certain item" }); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Female", Name = "TEST", Height = new Random(DateTime.Now.Second).Next(150, 200), Weight = new Random(DateTime.Now.Second).Next(45, 90), Item = "Certain item" }); testList.Add(new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Female", Name = "TEST", Height = new Random(DateTime.Now.Millisecond).Next(150, 200), Weight = new Random(DateTime.Now.Millisecond).Next(45, 90), Item = "Certain item" }); Athlete testModel = new Athlete { Country = "TEST_" + strCurrentTime, Gender = "Male", Name = "TEST_Double", Height = new Random(DateTime.Now.Minute).Next(150, 200), Weight = new Random(DateTime.Now.Minute).Next(45, 90), Item = "Certain item" }; testList.Add(testModel); testList.Add(testModel); this.cdgvAthleteInfo.AddGroup <AthleteItemList, Athlete>(testList); }
//删除集合完成后 void cdgvAthleteInfo_RemoveGroupCompleted(object group, CollapseDataGridViewEventArgs e) { if (e.Result) { //TODO:展示已删除的数据,或设置CollapseDataGirdView其他属性,如只读等 AthleteItemList singleGroup = group as AthleteItemList; MessageBox.Show ( this, "已删除新增集合" + "\r\n驻扎酒店:" + ((singleGroup.Hotel != null) ? singleGroup.Hotel : "暂无") + "\r\n大巴车牌:" + ((singleGroup.BusNo != null) ? singleGroup.BusNo : "暂无") + "\r\n休息室号:" + ((singleGroup.RestRoomNo != null) ? singleGroup.RestRoomNo : "暂无") + "\r\n成员数:" + singleGroup.Count, "删除集合提示信息" ); } else { MessageBox.Show(e.ErrorMessage); } }
//显示集合信息 private void btnShowGroupInfo_Click(object sender, EventArgs e) { AthleteItemList groupInfo = this.cdgvAthleteInfo.GetGroupInfo <AthleteItemList>(); if (groupInfo != null) { MessageBox.Show ( this, "驻扎酒店:" + ((groupInfo.Hotel != null) ? groupInfo.Hotel : "暂无") + "\r\n" + "大巴车牌:" + ((groupInfo.BusNo != null) ? groupInfo.BusNo : "暂无") + "\r\n" + "休息室号:" + ((groupInfo.RestRoomNo != null) ? groupInfo.RestRoomNo : "暂无"), "集合信息" ); } else { MessageBox.Show(this, "没有找到相应的集合信息!", "提示信息"); } }
private AthleteGroupList DataGenerator() { AthleteGroupList athleteGroupList = new AthleteGroupList(); AthleteItemList chinaList = new AthleteItemList(); chinaList.Hotel = "Hilton Hotel"; chinaList.BusNo = "浙A 123456"; chinaList.RestRoomNo = "1021"; chinaList.Add(new Athlete { Country = "China", Gender = "Male", Name = "Gang Li", Height = 182, Weight = 80, Item = "Swim" }); chinaList.Add(new Athlete { Country = "China", Gender = "Female", Name = "Hong Wang", Height = 175, Weight = 65, Item = "Archery" }); chinaList.Add(new Athlete { Country = "China", Gender = "Female", Name = "Ming Yao", Height = 175, Weight = 65, Item = "Basketball" }); chinaList.Add(new Athlete { Country = "China", Gender = "Female", Name = "Peng Li", Height = 175, Weight = 65, Item = "KungFu" }); chinaList.Add(new Athlete { Country = "China", Gender = "Female", Name = "Xu Zhang", Height = 175, Weight = 65, Item = "Cycling" }); athleteGroupList.Add(chinaList); AthleteItemList usaList = new AthleteItemList(); usaList.Hotel = "Intercontinental Hotel"; usaList.BusNo = "浙A 234567"; usaList.RestRoomNo = "1022"; usaList.Add(new Athlete { Country = "United States", Gender = "Male", Name = "Jack", Height = 191, Weight = 80, Item = "Run" }); usaList.Add(new Athlete { Country = "United States", Gender = "Male", Name = "Mike", Height = 183, Weight = 85, Item = "Diving" }); usaList.Add(new Athlete { Country = "United States", Gender = "Male", Name = "John", Height = 199, Weight = 85, Item = "Basketball" }); athleteGroupList.Add(usaList); AthleteItemList ukList = new AthleteItemList(); ukList.Hotel = "Marriott Hotel"; ukList.BusNo = "浙A 345678"; ukList.RestRoomNo = "1023"; ukList.Add(new Athlete { Country = "Britain", Gender = "Female", Name = "Elizabeth", Height = 160, Weight = 60, Item = "Golf" }); athleteGroupList.Add(ukList); AthleteItemList jpList = new AthleteItemList(); jpList.Hotel = "Sheraton Hotel"; jpList.BusNo = "浙A 456789"; jpList.RestRoomNo = "1024"; jpList.Add(new Athlete { Country = "France", Gender = "Male", Name = "Jet", Height = 170, Weight = 60, Item = "Surfing" }); jpList.Add(new Athlete { Country = "France", Gender = "Female", Name = "Lily", Height = 162, Weight = 60, Item = "Tennis" }); jpList.Add(new Athlete { Country = "France", Gender = "Male", Name = "Lawson", Height = 181, Weight = 60, Item = "Judo" }); jpList.Add(new Athlete { Country = "France", Gender = "Female", Name = "Linda", Height = 176, Weight = 60, Item = "Gym" }); jpList.Add(new Athlete { Country = "France", Gender = "Male", Name = "Steve", Height = 167, Weight = 60, Item = "Chess" }); athleteGroupList.Add(jpList); return(athleteGroupList); }