private Boolean SaveLinkData() { ODpairs.Clear(); ODpairs.Add(new ODdata()); //write table values to the ODArr data structure Network.NumODrecords = 0; ODdata od; try { for (int i = 1; i <= dgvODdata.Rows.Count; i++) { od = new ODdata(); od.OrigZone = Convert.ToInt32(dgvODdata.Rows[i - 1].Cells[0].Value); od.DestZone = Convert.ToInt32(dgvODdata.Rows[i - 1].Cells[1].Value); od.NumTrips = Convert.ToInt64(dgvODdata.Rows[i - 1].Cells[2].Value); ODpairs.Add(od); Network.NumODrecords++; //ODpairs[i].OrigZone = Convert.ToInt32(dgvODdata.Rows[i - 1].Cells[0].Value); //change to int16? //ODpairs[i].DestZone = Convert.ToInt32(dgvODdata.Rows[i - 1].Cells[1].Value); //change to int16? //ODpairs[i].NumTrips = Convert.ToInt64(dgvODdata.Rows[i - 1].Cells[2].Value); //change to int16? //Network.NumODrecords++; } DataSaved = true; DataCurrent = false; return(true); } catch { MessageBox.Show("Data cannot be saved. Check data entry cells with a yellow background and/or red font.", "Input Data Error", MessageBoxButtons.OK, MessageBoxIcon.Error); DataSaved = false; DataCurrent = false; return(false); } }
private void tsbAddODrecord_Click(object sender, EventArgs e) { /* * int NumODpairs = dgvODdata.Rows.Count; //get number of entered OD pairs * if (NumODpairs == 1600) //maximum, based on 40 traffic analysis zones (40^2 - 40 = 1360) * { * MessageBox.Show("The number of entered OD pairs is limited to a maximum of 1600.", "XXE", MessageBoxButtons.OK, MessageBoxIcon.Information); * return; * } */ dgvODdata.Rows.Add(1); for (int i = 0; i < dgvODdata.Columns.Count; i++) { dgvODdata.Rows[dgvODdata.Rows.Count - 1].Cells[i].Style.BackColor = Color.Yellow; } if (dgvODdata.Rows.Count > 1) { tsbDeleteODrecord.Enabled = true; } ODdata NewODpair = new ODdata(); ODpairs.Add(NewODpair); }
private void tsbInsertODrecord_Click(object sender, EventArgs e) { /* * int NumODpairs = dgvODdata.Rows.Count; //get number of entered OD pairs * if (NumODpairs == 1600) //maximum, based on 40 traffic analysis zones (40^2 - 40 = 1360) * { * MessageBox.Show("The number of entered OD pairs is limited to a maximum of 1600.", "XXE", MessageBoxButtons.OK, MessageBoxIcon.Information); * return; * } */ try { //insert a new link between two current intersections int SelectedRow = dgvODdata.SelectedRows[0].Index; dgvODdata.Rows.Insert(SelectedRow, 1); if (dgvODdata.Rows.Count > 1) { tsbDeleteODrecord.Enabled = true; } for (int i = 0; i < dgvODdata.Columns.Count; i++) { dgvODdata.Rows[SelectedRow].Cells[i].Style.BackColor = Color.Yellow; } ODdata NewODpair = new ODdata(); ODpairs.Insert(SelectedRow, NewODpair); } catch { MessageBox.Show("To insert a row, you must select a row by clicking on the row number on the left-hand side of the grid. The new row will be inserted above this row selection.", "Row Insert Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private Boolean LoadODdata() { //LinkData[] LinkArr = new LinkData[20]; if ((ODpairs == null) || (Network.NumODrecords == 0)) { ODdata NewODpair = new ODdata(); ODpairs.Add(NewODpair); dgvODdata.Rows.Add(1); return(false); } else { try { dgvODdata.Rows.Add(Network.NumODrecords); for (int i = 1; i <= Network.NumODrecords; i++) { dgvODdata.Rows[i - 1].Cells[0].Value = ODpairs[i].OrigZone.ToString(); dgvODdata.Rows[i - 1].Cells[1].Value = ODpairs[i].DestZone.ToString(); dgvODdata.Rows[i - 1].Cells[2].Value = ODpairs[i].NumTrips.ToString(); } dgvODdata.DefaultCellStyle.BackColor = Color.White; dgvODdata.AlternatingRowsDefaultCellStyle.BackColor = Color.White; DataSaved = true; DataCurrent = true; return(true); } catch { MessageBox.Show("Invalid Input Data. Check your saved data file for invalid entries and try again.", "Input Data Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } }