private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { string numStud = listView1.SelectedItems[0].Tag.ToString(); string numTask = dataGridView1[0, e.RowIndex].Value.ToString(); conn.Open(); comm.CommandText = "update [Выполненная задача] set Балл = '"+ e.Value.ToString() +"' where [№ студента] = '"+ numStud +"' and [№ задачи] = '"+ numTask +"'"; comm.ExecuteNonQuery(); conn.Close(); }
private void employeeDataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { string s = e.Value as string; //OfType is needed because the employeeBindingSource returns instances of type object. Employee emp = (from employee in this.managerBindingSource.OfType<Employee>() where employee.ToString()==s select employee).FirstOrDefault(); e.Value = emp; e.ParsingApplied = true; }
private void employeeDataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { string s = e.Value as string; //需要提供 OfType,因为 employeeBindingSource 会返回类型对象的实例。 Employee emp = (from employee in this.managerBindingSource.OfType<Employee>() where employee.ToString()==s select employee).FirstOrDefault(); e.Value = emp; e.ParsingApplied = true; }
void dataGridView1_CellParsing(object sender, System.Windows.Forms.DataGridViewCellParsingEventArgs e) { switch (e.ColumnIndex) { case 1: // TokenID case 2: // Secret case 4: // PrivateID e.Value = parser((string)e.Value); e.ParsingApplied = true; break; } }
protected override void OnCellParsing(System.Windows.Forms.DataGridViewCellParsingEventArgs e) { int i = e.ColumnIndex; if ((i >= 0) && (i < Columns.Count) && (Columns[i] is Oranikle.Studio.Controls.ICustomDGVParser)) { Oranikle.Studio.Controls.ICustomDGVParser icustomDGVParser = Columns[i] as Oranikle.Studio.Controls.ICustomDGVParser; icustomDGVParser.CustomDGVParse(this, e); return; } base.OnCellParsing(e); }
private void dgvEntranceTable_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataGridView dgv = (sender as DataGridView); if (dgv.Columns[e.ColumnIndex].Name == "SceneNumber" || dgv.Columns[e.ColumnIndex].Name == "EntranceNumber" || dgv.Columns[e.ColumnIndex].Name == "Variable" || dgv.Columns[e.ColumnIndex].Name == "Fade") { if (e != null && e.Value != null && e.DesiredType.Equals(typeof(byte))) { string str = (e.Value as string); bool ishex = str.StartsWith("0x"); byte val = 0; if (byte.TryParse((ishex ? str.Substring(2) : str), (ishex ? System.Globalization.NumberStyles.AllowHexSpecifier : System.Globalization.NumberStyles.None), System.Globalization.CultureInfo.InvariantCulture, out val)) { e.Value = val; e.ParsingApplied = true; } } } }
private void dgvArticulos_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { seteaCantTotal(); }
/// <summary> /// парсим /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridViewCalibrationTable_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (Type.GetTypeCode(e.Value.GetType()) == TypeCode.String) { try { newValue = SKC.Application.ParseDouble(e.Value.ToString()); if (!double.IsNaN(newValue)) { e.ParsingApplied = true; } else throw new Exception(); } catch (Exception) { MessageBox.Show("Введенное значение не является допустимым числом"); newValue = oldValue; } } }
private void dataSectionRows_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e.ColumnIndex < 1) return; if (e.Value.GetType() == typeof(String)) { var index = e.ColumnIndex - 1; var text = e.Value.ToString(); var section = xsd[0].sectionCollection.Sections[lstSection.SelectedIndex]; var row = section.XStrings.Rows[e.RowIndex]; var btext = Encoding.Unicode.GetBytes(text); // Add all language textstrings for this row if (row.TextString.Count <= index) for (int i = row.TextString.Count; i < xsd[0].MaxLanguages; i++) row.TextString.Add(new byte[0]); // Add all language textstring lengths for this row if (row.TextStringLength.Count <= index) for (int i = row.TextStringLength.Count; i < xsd[0].MaxLanguages; i++) row.TextStringLength.Add(Encoding.Unicode.GetString(row.TextString[i]).Length); row.TextString[index] = btext; row.TextStringLength[index] = text.Length; e.Value = row.TextString; e.ParsingApplied = true; updateStatus(); } }
private void DataGridView1_CellParsing(System.Object sender, System.Windows.Forms.DataGridViewCellParsingEventArgs e) { this.DataGridView1.CurrentCell.Selected = true; }
private void ReprocessResultsView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e.ColumnIndex > -1) { if (ReprocessResultsView.Columns[e.ColumnIndex] == ResultValueColumn) { decimal value = 0.0m; string text = e.Value.ToString(); int removePoint = text.IndexOf("ISK"); if (removePoint > 0) { text = text.Remove(removePoint); } try { value = decimal.Parse(text); } catch { } e.Value = value; e.ParsingApplied = true; } } }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /// <summary> /// Обработчик события /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EventHandler_DataGridViewOutcomingMessages_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataGridViewRow row; DataGridViewCell cell; DataGridView dgv = (DataGridView)sender; switch (e.ColumnIndex) { case 1: { // Проверяем значение идентификатора UInt32 id; if (UInt32.TryParse(e.Value.ToString(), System.Globalization.NumberStyles.HexNumber, null, out id) == true) { row = dgv.Rows[e.RowIndex]; cell = row.Cells[e.ColumnIndex]; cell.Value = id; e.Value = id; e.ParsingApplied = true; } else { // Не удалось преобразовать формат кадра. row = dgv.Rows[e.RowIndex]; cell = row.Cells[e.ColumnIndex]; cell.ErrorText = "Введённое значение не является шестнадцатеричным числом"; MessageBox.Show(this, "Введённое значение не является шестнадцатеричным числом", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error); e.ParsingApplied = false; } break; } case 2: //"DataGridViewColumnFormatFrame" { FrameFormat frameFormat; if ((Boolean)e.Value) { frameFormat = FrameFormat.ExtendedFrame; } else { frameFormat = FrameFormat.StandardFrame; } row = dgv.Rows[e.RowIndex]; cell = row.Cells[e.ColumnIndex]; cell.Value = frameFormat; // Проверяем размер id cell = row.Cells[1]; if ((UInt32)cell.Value <= Message.Frame.GetIdMaxValue(frameFormat)) { cell.ErrorText = String.Empty; } else { cell.ErrorText = String.Format("Введённое значение больше, чем максимально допустимое {0}", Message.Frame.GetIdMaxValue(frameFormat).ToString("X")); } e.Value = frameFormat; e.ParsingApplied = true; break; } case 3: //"DataGridViewColumnFrameType" { FrameType frameType; if ((Boolean)e.Value) { frameType = FrameType.REMOTEFRAME; // У сообщения данного типа не может быть поля данных. // Поэтому очищаем данные и запрещаем ввод //String[] strArr = e.Value.ToString().Trim().Split(' '); //dgv.Rows[e.RowIndex].Cells[4].Value = "DLC="; //dgv.Rows[e.RowIndex].Cells[4].Value = new Byte[0]; dgv.Rows[e.RowIndex].Cells[4].ReadOnly = true; } else { frameType = FrameType.DATAFRAME; dgv.Rows[e.RowIndex].Cells[4].ReadOnly = false; } e.Value = frameType; row = dgv.Rows[e.RowIndex]; cell = row.Cells[e.ColumnIndex]; cell.Value = frameType; e.ParsingApplied = true; break; } case 4: { // Если используется удалённый запрос, поле должно быть недоступно // для редактирования и поэтому разбор поля не делаем cell = dgv.Rows[e.RowIndex].Cells[3]; switch ((Message.FrameType)cell.Value) { case FrameType.DATAFRAME: { String[] strArr = e.Value.ToString().Trim().Split(' '); Byte[] data = new Byte[strArr.Length]; // Длина данных CAN-сообщения не может быть более 8 байт if (strArr.Length > 8) { MessageBox.Show(this, String.Format("", strArr.Length.ToString()), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { for (int i = 0; i < strArr.Length; i++) { // Каждый байт должен состоять из 2-х симолов. Проверяем это if (strArr[i].Length == 2) { try { data[i] = Byte.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber); } catch { MessageBox.Show("Ошибка ввода"); } } else { MessageBox.Show("Ошибка ввода"); } } row = dgv.Rows[e.RowIndex]; cell = row.Cells[e.ColumnIndex]; cell.Value = data; e.Value = data; e.ParsingApplied = true; } break; } case FrameType.REMOTEFRAME: { // Ничего не делаем e.ParsingApplied = true; break; } } break; } } return; }
//--------------------------------------------------------------------------- private void EventHandler_DataGridViewDiscretesInputs_CellParsing( object sender, DataGridViewCellParsingEventArgs e) { DataGridView dgv; DataGridViewColumn column; dgv = (DataGridView)sender; column = dgv.Columns[e.ColumnIndex]; switch (column.Name) { case "Address": { UInt16 address; if (UInt16.TryParse((String)e.Value, out address)) { e.Value = address; dgv.Rows[e.RowIndex].ErrorText = String.Empty; e.ParsingApplied = true; } else { dgv.Rows[e.RowIndex].ErrorText = "Значение должно быть числом 0...65535"; e.ParsingApplied = false; } break; } case "Value": { e.ParsingApplied = true; break; } case "Description": { e.ParsingApplied = true; break; } default: { throw new InvalidOperationException( "Попытка редактирования значения столбца только для чтения"); } } return; }
private void dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { }
/// <summary> /// �༭�����ʾ��д��ʽ /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OverViewdgv_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e.DesiredType == typeof(string)) { e.Value = e.Value.ToString().ToUpper(); e.ParsingApplied = true; } }
void ux_datagridviewMain_EditDGVCellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataGridView dgv = (DataGridView)sender; DataView dv = null; if (dgv.DataSource.GetType() == typeof(BindingSource)) { dv = ((DataTable)((BindingSource)dgv.DataSource).DataSource).DefaultView; } else { dv = ((DataTable)dgv.DataSource).DefaultView; } if (dv != null && e.ColumnIndex > -1) { DataColumn dc = dv.Table.Columns[e.ColumnIndex]; if (e.Value != null && e.Value != DBNull.Value && dc.DataType == typeof(DateTime)) { if (dgv.Columns.Contains(dc.ColumnName + "_code")) { string dateFormat = dv[e.RowIndex][dc.ColumnName + "_code"].ToString().Trim(); DateTime formattedDate; //e.Value = ((DateTime)dv[e.RowIndex][e.ColumnIndex]).ToString(dateFormat); if (DateTime.TryParseExact(e.Value.ToString(), dateFormat, null, System.Globalization.DateTimeStyles.AssumeLocal, out formattedDate)) { e.Value = formattedDate; e.ParsingApplied = true; } } } } }
private void _dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { // if we do custom editing, the dgv sometimes tries to pass a string back and expects // the cell to "parse" it to obtain the actual value // therefore, we subscribe to this event so that we can retrieve the value from the // underlying ITable var column = (ITableColumn)_dataGridView.Columns[e.ColumnIndex].Tag; // if no custom editor, then nothing needs to be done here if (column.GetCellEditor() == null) return; // retrieve value from table, and inform dgv that we have parsed the string successfully e.Value = column.GetValue(_table.Items[e.RowIndex]); e.ParsingApplied = true; }
private void dgvActions_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if(e.ColumnIndex != dgvActions.Columns.IndexOf(dgvActionName)) { return; } string origin = logic.SBE.evt[e.RowIndex].Name; try { logic.SBE.evt[e.RowIndex].Name = null; e.Value = logic.genUniqueName(logic.validateName(e.Value.ToString()), logic.SBE.evt); logic.SBE.evt[e.RowIndex].Name = (string)e.Value; } catch(Exception ex) { Log.Debug("Name for action: failed parsing - '{0}'", ex.Message); e.Value = origin; } e.ParsingApplied = true; }
private void dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { string value = e.Value.ToString(); e.ParsingApplied = Content.SetValue(value, e.RowIndex); if (e.ParsingApplied) e.Value = Content.GetValue(e.RowIndex); }
private void dataGridView1_CellParsing( object sender, DataGridViewCellParsingEventArgs e ) { int result; if( Int32.TryParse( e.Value.ToString(), out result ) ) { if( result > 8 ) result = 8; if( result < 0 ) result = 0; e.Value = result; e.ParsingApplied = true; } }
/// <summary> /// Event when the value of cell is changed. /// </summary> /// <param name="sender">DataGridView.</param> /// <param name="e">DataGridViewCellEventArgs.</param> private void ChangeProperty(object sender, DataGridViewCellParsingEventArgs e) { e.ParsingApplied = true; if (m_current == null) return; if (m_env.PluginManager.Status == ProjectStatus.Running) return; if (e.ColumnIndex < 0 || e.RowIndex < 0) return; if (m_isChanging) return; DataGridViewCell editCell = m_dgv[e.ColumnIndex, e.RowIndex]; // Update the name of user defined Property. if (e.ColumnIndex == 0) { string propName = e.Value.ToString(); string oldName = editCell.Value.ToString(); try { if (propName.Equals(oldName)) return; if (m_current.IsEcellValueExists(propName) || m_nonDataProps.Contains(propName)) throw new EcellException(MessageResources.ErrSameProp); // Set value. DataGridViewCell valueCell = m_dgv[1, e.RowIndex]; double value; if (valueCell.Tag == null || valueCell.Value.Equals("")) { value = 0.0d; } else { value = Convert.ToDouble(valueCell.Value); } m_current.RemoveEcellValue(oldName); m_current.SetEcellValue(propName, new EcellValue(value)); valueCell.Tag = m_current.GetEcellData(propName); NotifyDataChanged(m_current.ModelID, m_current.Key, m_current); } catch (Exception ex) { e.Value = oldName; Trace.WriteLine(ex); m_dgv.MouseLeave -= new EventHandler(this.LeaveMouse); Util.ShowErrorDialog(ex.Message); m_dgv.MouseLeave += new EventHandler(this.LeaveMouse); } return; } // Ignore invalid index. if (e.ColumnIndex != 1) return; // Update property value. try { // Update property. if (editCell.Tag is EcellData) { EcellData tag = editCell.Tag as EcellData; string data = e.Value.ToString(); if ((m_env.PluginManager.Status == ProjectStatus.Running || m_env.PluginManager.Status == ProjectStatus.Stepping || m_env.PluginManager.Status == ProjectStatus.Suspended) && !tag.Name.Equals(Constants.xpathSize) && !tag.Name.Equals(Constants.xpathExpression) && !tag.Name.Equals(Constants.xpathActivity)) { if (m_current.Type.Equals(Constants.xpathStepper)) { m_env.DataManager.SetStepperProperty(m_current.Key, tag.Name, data); } else { m_env.DataManager.SetEntityProperty(tag.EntityPath, data); } UpdatePropForSimulation(); } else { EcellObject eo = m_current.Clone(); EcellData d = eo.GetEcellData(tag.Name); EcellValue value; try { if (tag.Name == Constants.xpathSize) { value = new EcellValue(Convert.ToDouble(data)); EcellSystem system = (EcellSystem)eo; system.SizeInVolume = (double)value; } else { if (d.Value.IsDouble) value = new EcellValue(Convert.ToDouble(data)); else if (d.Value.IsInt) value = new EcellValue(Convert.ToInt32(data)); else value = new EcellValue(data); d.Value = value; } } catch (Exception ex) { e.Value = editCell.Value; Trace.WriteLine(ex); m_dgv.MouseLeave -= new EventHandler(this.LeaveMouse); Util.ShowErrorDialog(MessageResources.ErrFormat); m_dgv.MouseLeave += new EventHandler(this.LeaveMouse); return; } if (!NotifyDataChanged(m_current.ModelID, m_current.Key, eo)) { e.Value = editCell.Value; } } } // Update ID. else if (editCell.Tag is string) { string propName = editCell.Tag as string; if (!propName.Equals("ID")) return; string tmpID = e.Value.ToString(); // Error check. if (tmpID.Equals(m_current.Key)) return; if (string.IsNullOrEmpty(tmpID) || Util.IsReservedID(tmpID) || Util.IsNGforID(tmpID)) throw new EcellException(MessageResources.ErrID); EcellObject p = m_current.Clone(); if (p.Type == Constants.xpathSystem) { // ���[�g�̏ꍇ�A���[�g��/�ƃf�~���^��/��2�d�Ȃ� if (p.ParentSystemID.Equals("/")) p.Key = p.ParentSystemID + tmpID; else p.Key = p.ParentSystemID + Constants.delimiterPath + tmpID; } else if (p.Type == Constants.xpathStepper) { p.Key = tmpID; } else p.Key = p.ParentSystemID + Constants.delimiterColon + tmpID; if (!NotifyDataChanged(m_current.ModelID, m_current.Key, p)) { e.Value = editCell.Value; } } } catch (Exception ex) { e.Value = editCell.Value; Trace.WriteLine(ex); m_dgv.MouseLeave -= new EventHandler(this.LeaveMouse); Util.ShowErrorDialog(ex.Message); m_dgv.MouseLeave += new EventHandler(this.LeaveMouse); } }
private void NodeGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if ((e.RowIndex < 0) || (e.ColumnIndex < 0)) { // Invalid cell return; } if (e.ColumnIndex == 1) { // Location Byte nodeId = Convert.ToByte(NodeGridView.Rows[e.RowIndex].Cells["Node"].Value); Node node = GetNode(m_homeId, nodeId); if (node != null) { String newLocation = e.Value.ToString(); if (newLocation != node.Location) { m_manager.SetNodeLocation(m_homeId, node.ID, newLocation); } } } if (e.ColumnIndex == 2) { // Name Byte nodeId = Convert.ToByte(NodeGridView.Rows[e.RowIndex].Cells["Node"].Value); Node node = GetNode(m_homeId, nodeId); if (node != null) { String newName = e.Value.ToString(); if (newName != node.Name) { m_manager.SetNodeName(m_homeId, node.ID, newName); } } } }
private void dataGridViewBossElementReactions_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e == null || e.Value == null || dataGridViewBossElementReactions.Columns[e.ColumnIndex].Name != VulnerabilityColumn.Name) { return; } try { foreach(ElementAdvantage element in ((DataGridViewComboBoxCell)dataGridViewBossElementReactions.Rows[e.RowIndex].Cells[e.ColumnIndex]).Items) { if (element.Name == e.Value.ToString()) { e.Value = element; break; } } e.ParsingApplied = true; } catch(FormatException) { e.ParsingApplied = false; } }
//--------------------------------------------------------------------------- /// <summary> /// Обработчик события грида окончания ввода пользователем нового значения /// в ячейку. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EventHandler_DataGridViewDevicesList_CellParsing( object sender, DataGridViewCellParsingEventArgs e) { DataGridView dgv; dgv = (DataGridView)sender; switch (e.ColumnIndex) { case 0: // Сетевой адрес устройства { Byte result; if (Byte.TryParse((String)e.Value, out result)) { e.Value = result; dgv.Rows[e.RowIndex].ErrorText = String.Empty; e.ParsingApplied = true; } else { dgv.Rows[e.RowIndex].ErrorText = "Значение должно быть 1...247"; e.ParsingApplied = false; } break; } case 2: // Поле "Description" { e.ParsingApplied = true; break; } case 3: // { if (Enum.IsDefined(typeof(Common.Controlling.Status), e.Value)) { e.Value = (Common.Controlling.Status)Enum.Parse(typeof(Common.Controlling.Status), e.Value as String); e.ParsingApplied = true; } else { e.ParsingApplied = false; } break; } default: { throw new InvalidOperationException("Попытка редактирования поля только для чтения"); } } return; }
internal DataGridViewCellParsingEventArgs OnCellParsing(int rowIndex, int columnIndex, object formattedValue, Type valueType, DataGridViewCellStyle cellStyle) { DataGridViewCellParsingEventArgs dgvcpe = new DataGridViewCellParsingEventArgs(rowIndex, columnIndex, formattedValue, valueType, cellStyle); OnCellParsing(dgvcpe); return dgvcpe; }
protected internal virtual void OnCellParsing (DataGridViewCellParsingEventArgs e) { DataGridViewCellParsingEventHandler eh = (DataGridViewCellParsingEventHandler)(Events [CellParsingEvent]); if (eh != null) eh (this, e); }
[SuppressMessage("Microsoft.Usage", "CA2208:InstantiateArgumentExceptionsCorrectly")] // e.ColumnIndex / e.RowIndex is more precise than just e protected virtual void OnCellParsing(DataGridViewCellParsingEventArgs e) { if (e.ColumnIndex >= this.Columns.Count) { throw new ArgumentOutOfRangeException("e.ColumnIndex"); } if (e.RowIndex >= this.Rows.Count) { throw new ArgumentOutOfRangeException("e.RowIndex"); } DataGridViewCellParsingEventHandler eh = this.Events[EVENT_DATAGRIDVIEWCELLPARSING] as DataGridViewCellParsingEventHandler; if (eh != null && !this.dataGridViewOper[DATAGRIDVIEWOPER_inDispose] && !this.IsDisposed) { eh(this, e); } }
private void gprView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (gprView.Columns[1].Name == "value") { try { Int64 hex = Convert.ToInt64(e.Value.ToString(), 64); e.Value = hex; e.ParsingApplied = true; } catch { e.ParsingApplied = false; } } }
private void invoice_itemsDataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if ((e.ColumnIndex == 2) || (e.ColumnIndex == 3)) { //MessageBox.Show("Parsing"+e.Value.ToString()); double[] reply = { 0, 0, 0 }; try { reply = Parse(e.Value.ToString()); e.Value = reply[0]; this.invoice_itemsDataGridView[4, e.RowIndex].Value = reply[1]; DataRowView drv; drv = (DataRowView)this.productsBindingSource.Current; Decimal gstRate = (Decimal.Parse(drv.Row["gst"].ToString()) / 100); Decimal gstValue = 0; Decimal amount = Decimal.Parse(reply[2].ToString()); if( drv.Row["desc"].ToString().ToLower().Contains("credit")) { amount = Decimal.Subtract(0, amount); } gstValue = Decimal.Multiply(amount, gstRate); amount = amount + gstValue; this.invoice_itemsDataGridView[5, e.RowIndex].Value = gstValue; this.invoice_itemsDataGridView[6, e.RowIndex].Value = amount; this.invoice_itemsDataGridView.Refresh(); e.ParsingApplied = true; } catch { ; } if (e.ColumnIndex == 2) { if (reply[1] == 0) { flgQty = false; } else { flgQty = true; } } if (e.ColumnIndex == 3) { if (reply[1] == 0) { flgWeight = false; } else { flgWeight = true; } } } }
private void dataGridView_CellParsing( object sender, DataGridViewCellParsingEventArgs e ) { DataGridViewComboBoxEditingControl c = dataGridView.EditingControl as DataGridViewComboBoxEditingControl; if( c != null ) { e.Value = c.SelectedItem; e.ParsingApplied = true; } }
/// <summary> /// парсим /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridViewCalibrationTable_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (Type.GetTypeCode(e.Value.GetType()) == TypeCode.String) { try { ushort nValue = ushort.Parse(e.Value.ToString()); ushort last = ushort.Parse(dataGridViewCalibrationTable[e.ColumnIndex, e.RowIndex - 1].Value.ToString()); ushort next = ushort.Parse(dataGridViewCalibrationTable[e.ColumnIndex, e.RowIndex + 1].Value.ToString()); if (nValue > last && nValue < next) { e.ParsingApplied = true; newValue = e.Value; needCorrect = true; } else { MessageBox.Show(this, "Данное число не корректно", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); newValue = oldValue; } } catch (Exception) { MessageBox.Show("Введенное значение не является допустимым числом"); } } }
void runGrid_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e.ColumnIndex == SPLITTIMEINDEX || e.ColumnIndex == BESTSEGMENTINDEX || e.ColumnIndex == SEGMENTTIMEINDEX || e.ColumnIndex >= CUSTOMCOMPARISONSINDEX) { if (string.IsNullOrWhiteSpace(e.Value.ToString())) { e.Value = null; if (e.ColumnIndex == SPLITTIMEINDEX) { var time = new Time(Run[e.RowIndex].PersonalBestSplitTime); time[SelectedMethod] = null; Run[e.RowIndex].PersonalBestSplitTime = time; } if (e.ColumnIndex == BESTSEGMENTINDEX) { var time = new Time(Run[e.RowIndex].BestSegmentTime); time[SelectedMethod] = null; Run[e.RowIndex].BestSegmentTime = time; } if (e.ColumnIndex == SEGMENTTIMEINDEX) { SegmentTimeList[e.RowIndex] = null; FixSplitsFromSegments(); } if (e.ColumnIndex >= CUSTOMCOMPARISONSINDEX) { var time = new Time(Run[e.RowIndex].Comparisons[runGrid.Columns[e.ColumnIndex].Name]); time[SelectedMethod] = null; Run[e.RowIndex].Comparisons[runGrid.Columns[e.ColumnIndex].Name] = time; } Fix(); TimesModified(); e.ParsingApplied = true; return; } try { e.Value = TimeSpanParser.Parse(e.Value.ToString()); if (e.ColumnIndex == SEGMENTTIMEINDEX) { SegmentTimeList[e.RowIndex] = (TimeSpan)e.Value; FixSplitsFromSegments(); } if (e.ColumnIndex >= CUSTOMCOMPARISONSINDEX) { var time = new Time(Run[e.RowIndex].Comparisons[runGrid.Columns[e.ColumnIndex].Name]); time[SelectedMethod] = (TimeSpan)e.Value; Run[e.RowIndex].Comparisons[runGrid.Columns[e.ColumnIndex].Name] = time; } if (e.ColumnIndex == SPLITTIMEINDEX) { var time = new Time(Run[e.RowIndex].PersonalBestSplitTime); time[SelectedMethod] = (TimeSpan)e.Value; Run[e.RowIndex].PersonalBestSplitTime = time; } if (e.ColumnIndex == BESTSEGMENTINDEX) { var time = new Time(Run[e.RowIndex].BestSegmentTime); time[SelectedMethod] = (TimeSpan)e.Value; Run[e.RowIndex].BestSegmentTime = time; } Fix(); TimesModified(); e.ParsingApplied = true; } catch (Exception ex) { Log.Error(ex); e.ParsingApplied = false; } } }
private void dgvSceneTable_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { DataGridView dgv = (sender as DataGridView); if (dgv.Columns[e.ColumnIndex].Name == "LabelStartAddress" || dgv.Columns[e.ColumnIndex].Name == "LabelEndAddress" || dgv.Columns[e.ColumnIndex].Name == "Unknown1" || dgv.Columns[e.ColumnIndex].Name == "ConfigurationNo" || dgv.Columns[e.ColumnIndex].Name == "Unknown3" || dgv.Columns[e.ColumnIndex].Name == "Unknown4" || dgv.Columns[e.ColumnIndex].Name == "Unknown2" || dgv.Columns[e.ColumnIndex].Name == "PresumedPadding") { if (e != null && e.Value != null) { string str = (e.Value as string); bool ishex = str.StartsWith("0x"); if (e.DesiredType.Equals(typeof(byte))) { byte val = 0; if (byte.TryParse((ishex ? str.Substring(2) : str), (ishex ? System.Globalization.NumberStyles.AllowHexSpecifier : System.Globalization.NumberStyles.None), System.Globalization.CultureInfo.InvariantCulture, out val)) { e.Value = val; e.ParsingApplied = true; } } else if (e.DesiredType.Equals(typeof(uint))) { uint val = 0; if (uint.TryParse((ishex ? str.Substring(2) : str), (ishex ? System.Globalization.NumberStyles.AllowHexSpecifier : System.Globalization.NumberStyles.None), System.Globalization.CultureInfo.InvariantCulture, out val)) { e.Value = val; e.ParsingApplied = true; } } } } }