private void btnDelHoliday_Click(object sender, EventArgs e) { //1.判断用户有没有选择一行 if (this.dgvHoloday.SelectedRows.Count == 0) { return; } DialogResult result = MessageBox.Show("请问你是否真的需要删除?", "操作提示 ", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) { return; } //控件当前绑定的是集合,也就说明每一行数据都对应着集合中的某一个对象,可以通过这一行的DataBoundItem来获取这个对象 MODEL.doc_holidayedit delHoliday = this.dgvHoloday.SelectedRows[0].DataBoundItem as MODEL.doc_holidayedit; if (ho.DeleteHolidaySoftly(delHoliday.id)) { MessageBox.Show("删除成功"); this.dgvHoloday.DataSource = ho.GetAllholiday(dtYear.Text); } else { MessageBox.Show("删除失败了!"); } }
private string getholiday(int year, int month, int day) { DateTime dtnow = new DateTime(year, month, day); holists = hobll.GetAllholiday(dtYear.Text); string holiday = ""; /// 判断节假日开始结束时间内,节假日返回 for (int j = 0; j < holists.Count; j++) { string[] sstar = holists[j].time_f.Split('-'); DateTime dtstar = new DateTime(Convert.ToInt16(dtYear.Text), Convert.ToInt16(sstar[0]), Convert.ToInt16(sstar[1])); string[] sto = holists[j].time_t.Split('-'); DateTime dtto = new DateTime(Convert.ToInt16(dtYear.Text), Convert.ToInt16(sto[0]), Convert.ToInt16(sto[1])); if (dtnow >= dtstar && dtnow <= dtto) { holiday = holists[j].explain; } else { } } return(holiday); }
int index; //记住之前修改行的索引 private void dgvHoloday_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) { isEdit = true; //标识已经进入编辑状态 updateholiday = this.dgvHoloday.CurrentRow.DataBoundItem as MODEL.doc_holidayedit; //每切换一个单元格都去判断之前这个单元格有值有没有修改过,如果有,就说明从这一行切换到下一行就需要做提交修改,否则就不需要 if (temp.date != updateholiday.date || temp.explain != updateholiday.explain || temp.time_f != updateholiday.time_f || temp.time_t != updateholiday.time_t) { isShouldBeUpdate = true; } temp.id = updateholiday.id; temp.date = updateholiday.date;//不能对象==对象,只能赋值=值 temp.explain = updateholiday.explain; temp.time_f = updateholiday.time_f; temp.time_t = updateholiday.time_t; index = this.dgvHoloday.CurrentRow.Index; //得到当前操作行的索引 // MessageBox.Show("修改前" + updateholiday.date + " " + updateholiday.time_f + " " + updateholiday.time_t + " " + index); }
private void dgvHoloday_SelectionChanged(object sender, EventArgs e) { DataGridViewSelectionMode mode = dgvHoloday.SelectionMode; if (isEdit) { //MessageBox.Show("选择行发生了改变~~"); //也可以直接通过下面 updateholiday = this.dgvHoloday.Rows[index].DataBoundItem as MODEL.doc_holidayedit; //只有判断同之前的行数据有不一样的值的时候才需要修改 if (isShouldBeUpdate) { if (ho.UpdateHoliday(updateholiday) == 1) { // MessageBox.Show("ok"); isEdit = false; //将修改状态重新置 为false this.dgvHoloday.DataSource = ho.GetAllholiday(dtYear1.Text); } isShouldBeUpdate = false; //修改完这一条记录之后重置是否需要修改的值 } } }
/// <summary> /// 修改假期信息 /// </summary> /// <param name="upHoliday"></param> /// <returns></returns> public int UpdateHoliday(MODEL.doc_holidayedit upHoliday) { return(hos.UpdateHoliday(upHoliday)); }
/// <summary> /// 增加假期信息 /// </summary> /// <param name="addHoliday"></param> /// <returns></returns> public int AddHoliday(MODEL.doc_holidayedit addHoliday) { return(hos.AddHoliday(addHoliday));;// 成功返回1,不成功返回-1 }