private void buttonEdit_Click(object sender, EventArgs e) { errorProvider1.Clear(); foreach (Control c in panelEditZone.Controls) { if (!(c is IAutoControl)) { continue; } string[] strs = c.Name.Split('-'); string head = strs[0]; int index = pack.GetPackIndexByName(head); String value = getControlValue(c as IAutoControl); String matchstr = ""; String hintstr = ""; if (pack.datatype[index] == "int") { matchstr = @"^(-)?\d+$"; hintstr = "只能是整数"; } else if (pack.datatype[index] == "char") { matchstr = "^.{0," + pack.datasize[index] + "}$"; hintstr = String.Format("只能是字符串,且最大长度为{0}", pack.datasize[index]); } if (!Regex.IsMatch(value, matchstr)) { errorProvider1.SetError(c, hintstr); return; } } foreach (Control c in panelEditZone.Controls) { if (!(c is IAutoControl)) { continue; } string[] strs = c.Name.Split('-'); string head = strs[0]; int id = int.Parse(strs[1]); int id2 = int.Parse(strs[2]); int index = pack.GetPackIndexByName(head); String value = getControlValue(c as IAutoControl); TriData bk = new TriData(selectId, id, id2); if (value != pack.data[bk][index]) { pack.EditPackData(bk, head, value); } } }
private void buttonDelete_Click(object sender, EventArgs e) { AddTriDataForm adf = new AddTriDataForm(); adf.Id = selectId; adf.Text = "删除数据"; adf.Label1 = pack.comment[0] != "" ? pack.comment[0] : pack.header[0]; adf.Label2 = pack.comment[1] != "" ? pack.comment[1] : pack.header[1]; adf.Label3 = pack.comment[2] != "" ? pack.comment[2] : pack.header[2]; adf.ShowDialog(); if (adf.Result == System.Windows.Forms.DialogResult.OK) { TriData bd = new TriData(adf.Id, adf.Id2, adf.Id3); if (pack.data.ContainsKey(bd)) { pack.RemovePackData(bd); refreshList(0); } } }
private void buttonAdd_Click(object sender, EventArgs e) { AddTriDataForm adf = new AddTriDataForm(); adf.Id = selectId; adf.Text = "添加数据"; adf.Label1 = pack.comment[0] != "" ? pack.comment[0] : pack.header[0]; adf.Label2 = pack.comment[1] != "" ? pack.comment[1] : pack.header[1]; adf.Label3 = pack.comment[2] != "" ? pack.comment[2] : pack.header[2]; adf.ShowDialog(); if (adf.Result == System.Windows.Forms.DialogResult.OK) { TriData bd = new TriData(adf.Id, adf.Id2, adf.Id3); if (!pack.data.ContainsKey(bd)) { List <String> data = new List <string>(); data.Add(adf.Id.ToString()); data.Add(adf.Id2.ToString()); data.Add(adf.Id3.ToString()); for (int i = 3; i < pack.datatype.Count; i++) { if (pack.datatype[i] == "char") { data.Add(""); } else { data.Add("0"); } } pack.AddPackData(data); refreshList(adf.Id); } } }