private void DataGridView_RowLeave(object sender, DataGridViewCellEventArgs e) { FForm.Validate(); FDataGridView.EndEdit(); SqlCommandBuilder cb = new SqlCommandBuilder(FSqlDataAdapter); if (FDataSet.HasChanges(DataRowState.Modified | DataRowState.Added)) { FSqlDataAdapter.Update((DataTable)FDataSet.Tables[FTaula]); } }
void HandleCellValidating(object sender, DataGridViewCellValidatingEventArgs e) { var gridViewCell = FDataGridView[e.ColumnIndex, e.RowIndex]; var cell = gridViewCell.Tag as ICell; var value = Convert.ChangeType(gridViewCell.FormattedValue, cell.ValueType); if (!cell.ReadOnly) { if (!cell.AcceptsValue(value)) { FDataGridView.CancelEdit(); } } }
/// <summary> /// Constructor de l'objecte. /// </summary> /// <param name="con">Connexió a la base de dades.</param> /// <param name="sTaula">Taula de la base de dades.</param> /// <param name="sCampId">Clau primària de la taula.</param> /// <param name="sCampsRecerca">Llistat de camps per fer la recerca separats per comes.</param> public XFormRecercaFitxaConstructor(SqlConnection con, String sTaula, String sCampId, String sCampsRecerca) : base(con, sTaula, sCampId, sCampsRecerca) { FForm.Width = 400; FForm.Height = 600; tsbDesa.Visible = false; tsbActualitza.Visible = false; tsbFiltre.Visible = false; tsbOpcions.Visible = false; // Ordenació dels panells // http://stackoverflow.com/questions/154543/panel-dock-fill-ignoring-other-panel-dock-setting FDataGridView.BringToFront(); FDataGridView.ReadOnly = false; FDataGridView.AllowUserToAddRows = true; FDataGridView.KeyPress += null; FDataGridView.RowLeave += new DataGridViewCellEventHandler(DataGridView_RowLeave); FPanel.Visible = false; }