private void gvSelect_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var row = gvSelect.GetRow(e.RowHandle) as Car; if (row == null || e.HitInfo.Column == null) { return; } switch (e.Clicks) { case 1: if (e.HitInfo.Column.FieldName != "Choose") { break; } row.Choose = !row.Choose; gcSelect.RefreshDataSource(); break; case 2: row.Choose = false; row.IsSelected = false; Selectedcars.Remove(row); gc_Car.DataSource = Cars; gc_Car.RefreshDataSource(); gcSelect.RefreshDataSource(); break; } }
private void btnSelClear_Click(object sender, EventArgs e) { foreach (Car car in Selectedcars) { car.Choose = false; car.IsSelected = false; } Selectedcars.Clear(); gc_Car.DataSource = Cars; gc_Car.RefreshDataSource(); gcSelect.RefreshDataSource(); }
private void btnSelRemove_Click(object sender, EventArgs e) { var cars = Selectedcars.FindAll(m => m.Choose); foreach (Car car in cars) { car.Choose = false; car.IsSelected = false; Selectedcars.Remove(car); } gc_Car.DataSource = Cars; gc_Car.RefreshDataSource(); gcSelect.RefreshDataSource(); }
private void btnOK_Click(object sender, EventArgs e) { if (!Selectedcars.Any()) { foreach (var item in Cars.FindAll(m => m.Choose)) { Selectedcars.Add(item); } } if (!Selectedcars.Any()) { MsgBox.ShowInfo("请至少选择一辆车"); return; } DialogResult = DialogResult.OK; Close(); }
private void gv_Car_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var row = gv_Car.GetRow(e.RowHandle) as Car; if (row == null || e.HitInfo.Column == null) { return; } switch (e.Clicks) { case 1: if (e.HitInfo.Column.FieldName != "Choose") { break; } row.Choose = !row.Choose; gc_Car.RefreshDataSource(); var selCount = _cars.FindAll(m => m.Choose).Count; if (_cars.Count == selCount) { chkCheckAll.CheckState = CheckState.Checked; } else if (_cars.Count > selCount && selCount > 0) { chkCheckAll.CheckState = CheckState.Indeterminate; } else { chkCheckAll.CheckState = CheckState.Unchecked; } break; case 2: int TopIndex = gv_Car.TopRowIndex; row.Choose = false; row.IsSelected = true; Selectedcars.Add(row); gc_Car.DataSource = Cars; gc_Car.RefreshDataSource(); gv_Car.TopRowIndex = TopIndex; gcSelect.RefreshDataSource(); break; } }