private void button1_Click(object sender, EventArgs e)//确认 { if (!Check()) { return; } if (Operation) { row = table.NewRow(); //用如下这种办法新增主键值时,表主键不要设自动增长,否则新增后立马删除会报错。因为如果是自动增长,存入的表的主键值实际是历史最大值,而DataTable存入的是本次最大值,这样就会发生找不到对应数据的情况。 try { MaxID = (int)table.Select("", "LocationID DESC")[0]["LocationID"] + 1; }//只有地点才能用这种方式取最大ID,因为它不会分组 catch { MaxID = 1; } row["LocationID"] = MaxID; row["LocationName"] = textBox1.Text.Trim(); row["LocationOrder"] = numericUpDown1.Value; table.Rows.Add(row); } else { row["LocationName"] = textBox1.Text.Trim(); row["LocationOrder"] = numericUpDown1.Value; } LB.Update(); LB.Reload(); ToAdd(); }
private void button2_Click(object sender, EventArgs e)//确认保存 { if (!Check()) { return; } if (Operation) { row = table.NewRow(); try { MaxID = (int)table.Select("", "ID DESC")[0]["ID"] + 1; } catch { MaxID = 1; } row["ID"] = MaxID; row["Title"] = textBox1.Text.Trim(); row["YearN"] = dateTimePicker1.Value.Year; row["MonthN"] = dateTimePicker1.Value.Month; row["DayN"] = dateTimePicker1.Value.Day; row["ValidYear"] = checkBox1.Checked; table.Rows.Add(row); } else { row["Title"] = textBox1.Text.Trim(); row["YearN"] = dateTimePicker1.Value.Year; row["MonthN"] = dateTimePicker1.Value.Month; row["DayN"] = dateTimePicker1.Value.Day; row["ValidYear"] = checkBox1.Checked; } LB.Update(); LB.Reload(); ToAdd(); }
private void button3_Click(object sender, EventArgs e)//删除选中分组 { if (LB.SelectedValue == null) { MyDialog.Msg("没有选中分组。", 2); return; } if (MyDialog.Ask("操作将删除此分组下的所有标签,确定执行?")) { M.DeleteLabelsByGroupID(SelectedGroupID); table.Rows.Find(SelectedGroupID).Delete(); LB.Update(); ToAdd(); } }
private void button3_Click(object sender, EventArgs e)//删除日记本 { if (LB.SelectedValue == null) { MyDialog.Msg("没有选中日记本。", 2); return; } if (MyDialog.Ask("操作将删除此日记本的所有内容,确定执行?")) { M.DeleteRecordsByGroupID(SelectedGroupID); table.Rows.Find(SelectedGroupID).Delete(); LB.Update(); ToAdd(); } }