private void button_park_Click(object sender, EventArgs e) { PrintLog("주차 버튼 클릭", DateTime.Now.ToString(NOWTIME_YEAR_MONTH_DAY_FORMAT)); //공간번호 if (textBox_parkingSpot.Text.Trim() == "") //Trim 공백 제거 함수 { showError("주차공간을 입력하여 주세요."); } else if (textBox_carNumber.Text.Trim() == "") //차량 번호를 입력하지 않은 경우 { showError("차번호를 입력해라"); } else { try { //참조변수와 람다개념을 알고 있는 경우! ParkingCar car = dm.Cars.Single ((x) => x.parkingSpot.ToString() == textBox_parkingSpot.Text); if (car.carNumber.Trim() != "") //이미 차 정보가 저장되어있음 { showError("해당 공간에는 이미 차 있어요." + textBox_parkingSpot.Text); } else //아직 차 정보가 없음 { car.parkingSpot = int.Parse(textBox_parkingSpot.Text); car.carNumber = textBox_carNumber.Text; car.driverName = textBox_driverName.Text; car.phoneNumber = textBox_phoneNumber.Text; car.parkingTime = DateTime.Now; dataGridView_ManageParkingCar.DataSource = null; dataGridView_ManageParkingCar.DataSource = dm.Cars; dm.Save(car); string contents = $"주차 공간 {textBox_parkingSpot.Text}에 {textBox_carNumber.Text}차를 주차함"; MessageBox.Show(contents); PrintLog(contents, DateTime.Now.ToString(NOWTIME_YEAR_MONTH_DAY_FORMAT)); dataGridView_ManageParkingCar.ClearSelection(); //셀 선택 자체를 다 없앰 //dataGridView_ManageParkingCar.Rows[int.Parse(textBox_parkingSpot.Text)-1].Selected = true; //행 전체 선택 int lastRow = dataGridView_ManageParkingCar.CurrentRow.Index; dataGridView_ManageParkingCar.Rows[lastRow].Cells[0].Selected = true; //Row[n][0] 번째 즉 한 행의 가장 왼쪽에 있는 셀 1개 선택 } } catch (Exception ex) { string contents = "주차 할 수 없습니다." + textBox_parkingSpot.Text; showError(ex, contents); } } }
private void dataGridView_ManageParkingCar_CellClick(object sender, DataGridViewCellEventArgs e) { if (dm.Cars.Count <= 0) //CARS에 아무것도 없다면 셀을 클릭해도 의미가 없으므로 리턴시킴. 그리고 이거 없으면 오류 남 { return; } try { ParkingCar temp = dataGridView_ManageParkingCar.CurrentRow.DataBoundItem as ParkingCar; textBox_parkingSpot.Text = temp.parkingSpot.ToString(); textBox_carNumber.Text = temp.carNumber; textBox_driverName.Text = temp.driverName; textBox_phoneNumber.Text = temp.phoneNumber; //클릭해서 조회하고 싶은 경우 textBox_selectedParkingSpot.Text = temp.parkingSpot.ToString(); } catch (Exception ex) { showError(ex, "dataGridView_ManageParkingCar_CellClick"); } }