private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 0) { return; } int select_index = dataGridView1.SelectedRows[0].Index; var v_sec = vsecs[select_index]; E_DIRC_DRIV drive_dir = v_sec.DIRC_DRIV; E_DIRC_GUID guide_dir = v_sec.DIRC_GUID; string seg_num = v_sec.SEG_NUM; E_DIRC_GUID guide_dir_1 = v_sec.CDOG_1; E_DIRC_GUID guide_dir_2 = v_sec.CDOG_2; string segment_num_1 = v_sec.CHG_SEG_NUM_1; string segment_num_2 = v_sec.CHG_SEG_NUM_2; E_AreaSensorDir areaSensorDir = v_sec.AREA_SECSOR.Value; E_AreaSensorDir areaSensorDir_1 = v_sec.CHG_AREA_SECSOR_1; E_AreaSensorDir areaSensorDir_2 = v_sec.CHG_AREA_SECSOR_2; double section_distance = v_sec.SEC_DIS / 10000; double section_speed = v_sec.SEC_SPD.HasValue ? (v_sec.SEC_SPD.Value / 100) : 0; bool PresenceBlockingRequest = v_sec.PRE_BLO_REQ == 1; //0 bool PresenceDiverge = v_sec.BRANCH_FLAG; //1 bool PresenceHIDControl = v_sec.HID_CONTROL; //2 bool EnableChangeGuideArea = v_sec.ENB_CHG_G_AREA == 1; //4 bool PresenceAddressReport = v_sec.PRE_ADD_REPR == 1; //8 bool LaserSensor_ForwardStraight = v_sec.RANGE_SENSOR_F == 1; //12 bool CollisionAvoidance_ForwardStraight = v_sec.OBS_SENSOR_F == 1; //13 bool CollisionAvoidance_RightStraight = v_sec.OBS_SENSOR_R == 1; //14 bool CollisionAvoidance_LeftStraight = v_sec.OBS_SENSOR_L == 1; //15 UInt16 contrl_value = convertvSec2ControlTable(v_sec); cmbo_AreaSensor_Value.SelectedItem = areaSensorDir; cmbo_SectionID_Value.SelectedIndex = select_index; cmbo_DriveDir_Value.SelectedItem = drive_dir; cmbo_GuideDir_Value.SelectedItem = guide_dir; cmbo_SegmentNo_Value.SelectedItem = seg_num; cmbo_DirectionOfGuide1_Value.SelectedItem = guide_dir_1; cmbo_SegmentNumber1_Value.SelectedItem = segment_num_1.Trim(); cmbo_AreaSensor1_Value.SelectedItem = areaSensorDir_1; cmbo_DirectionOfGuide2_Value.SelectedItem = guide_dir_2; cmbo_SegmentNumber2_Value.SelectedItem = segment_num_2.Trim(); cmbo_AreaSensor2_Value.SelectedItem = areaSensorDir_2; num_section_dis.Value = (decimal)section_distance; num_section_speed.Value = (decimal)section_speed; //ck_CA_Senser_Forward.Checked = CollisionAvoidance_ForwardStraight; //skinCheckBox2.Checked = CollisionAvoidance_RightStraight; //skinCheckBox3.Checked = CollisionAvoidance_LeftStraight; //skinCheckBox4.Checked = LaserSensor_ForwardStraight; //skinCheckBox5.Checked = PresenceBlockingRequest; //skinCheckBox6.Checked = PresenceAddressReport; //skinCheckBox7.Checked = EnableChangeGuideArea; //skinCheckBox8.Checked = PresenceHIDControl; //skinCheckBox9.Checked = PresenceDiverge; num_controlTable_Value.Value = contrl_value; }
private async void uc_bt_Save1_Click(object sender, EventArgs e) { string sec_id = cmbo_SectionID_Value.Text as string; E_DIRC_DRIV drive_dir = (E_DIRC_DRIV)cmbo_DriveDir_Value.SelectedItem; E_DIRC_GUID guide_dir = (E_DIRC_GUID)cmbo_GuideDir_Value.SelectedItem; E_AreaSensorDir area_sensor = (E_AreaSensorDir)cmbo_AreaSensor_Value.SelectedItem; //string seg_num = cmbo_SegmentNo_Value.Text; E_DIRC_GUID guide_dir_1 = (E_DIRC_GUID)cmbo_DirectionOfGuide1_Value.SelectedItem; E_DIRC_GUID guide_dir_2 = (E_DIRC_GUID)cmbo_DirectionOfGuide2_Value.SelectedItem; string segment_num_1 = cmbo_SegmentNumber1_Value.Text; string segment_num_2 = cmbo_SegmentNumber2_Value.Text; E_AreaSensorDir areaSensorDir_1 = (E_AreaSensorDir)cmbo_AreaSensor1_Value.SelectedItem; E_AreaSensorDir areaSensorDir_2 = (E_AreaSensorDir)cmbo_AreaSensor2_Value.SelectedItem; double section_distance = (double)(num_section_dis.Value * 10000); double section_speed = (double)(num_section_speed.Value * 100); bool CollisionAvoidance_ForwardStraight = ck_CA_Senser_Forward.Checked; bool CollisionAvoidance_RightStraight = skinCheckBox2.Checked; bool CollisionAvoidance_LeftStraight = skinCheckBox3.Checked; bool LaserSensor_ForwardStraight = skinCheckBox4.Checked; bool PresenceBlockingRequest = skinCheckBox5.Checked; bool PresenceAddressReport = skinCheckBox6.Checked; bool EnableChangeGuideArea = skinCheckBox7.Checked; bool PresenceHIDControl = skinCheckBox8.Checked; bool PresenceDiverge = skinCheckBox9.Checked; ASECTION sec = new ASECTION() { SEC_ID = sec_id, DIRC_DRIV = drive_dir, DIRC_GUID = guide_dir, AREA_SECSOR = area_sensor, CDOG_1 = guide_dir_1, CDOG_2 = guide_dir_2, CHG_SEG_NUM_1 = segment_num_1, CHG_SEG_NUM_2 = segment_num_2, SEC_DIS = section_distance, SEC_SPD = section_speed, PRE_BLO_REQ = PresenceBlockingRequest ? 1 : 0, //BRANCH_FLAG = PresenceDiverge }; ASECTION_CONTROL_100 sec_100 = new ASECTION_CONTROL_100() { SEC_ID = sec_id, CHG_AREA_SECSOR_1 = areaSensorDir_1, CHG_AREA_SECSOR_2 = areaSensorDir_2, OBS_SENSOR_F = CollisionAvoidance_ForwardStraight ? 1 : 0, OBS_SENSOR_R = CollisionAvoidance_RightStraight ? 1 : 0, OBS_SENSOR_L = CollisionAvoidance_LeftStraight ? 1 : 0, RANGE_SENSOR_F = LaserSensor_ForwardStraight ? 1 : 0, IS_ADR_RPT = PresenceAddressReport, CAN_GUIDE_CHG = EnableChangeGuideArea, HID_CONTROL = PresenceHIDControl, BRANCH_FLAG = PresenceDiverge }; bool isSuccess = false; await Task.Run(() => { isSuccess = dataSetting.updateSectionData(sec, sec_100); }); if (isSuccess) { VSection_100ObjToShow vsec = vsecs.Where(secShow => secShow.SEC_ID == sec_id).SingleOrDefault(); vsec.DIRC_DRIV = sec.DIRC_DRIV; vsec.DIRC_GUID = sec.DIRC_GUID; vsec.AREA_SECSOR = sec.AREA_SECSOR; vsec.CDOG_1 = sec.CDOG_1; vsec.CDOG_2 = sec.CDOG_2; vsec.CHG_SEG_NUM_1 = sec.CHG_SEG_NUM_1; vsec.CHG_SEG_NUM_2 = sec.CHG_SEG_NUM_2; vsec.SEC_DIS = sec.SEC_DIS; vsec.SEC_SPD = sec.SEC_SPD; vsec.PRE_BLO_REQ = sec.PRE_BLO_REQ; //vsec.PRE_DIV = sec.PRE_DIV; vsec.CHG_AREA_SECSOR_1 = sec_100.CHG_AREA_SECSOR_1; vsec.CHG_AREA_SECSOR_2 = sec_100.CHG_AREA_SECSOR_2; vsec.OBS_SENSOR_F = sec_100.OBS_SENSOR_F; vsec.OBS_SENSOR_R = sec_100.OBS_SENSOR_R; vsec.OBS_SENSOR_L = sec_100.OBS_SENSOR_L; vsec.RANGE_SENSOR_F = sec_100.RANGE_SENSOR_F; vsec.IS_ADR_RPT = sec_100.IS_ADR_RPT; vsec.CAN_GUIDE_CHG = sec_100.CAN_GUIDE_CHG; vsec.HID_CONTROL = sec_100.HID_CONTROL; vsec.BRANCH_FLAG = sec_100.BRANCH_FLAG; } }