private void metroScriptGrid_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { //更新 var findKey = metroScriptGrid.Rows[e.RowIndex].Cells["ScriptId"].Value; var findEntity = DataScript.FetchByID(findKey.ToString()); int sort = 0; int.TryParse(metroScriptGrid.Rows[e.RowIndex].Cells["ScriptOrderOn"].Value.ToString(), out sort); bool noChange = findEntity.OrderOn == sort; if (noChange) { noChange = findEntity.DbId == int.Parse(metroScriptGrid.Rows[e.RowIndex].Cells["SelectDB"].Value.ToString()); } if (!noChange) { findEntity.DbId = int.Parse(metroScriptGrid.Rows[e.RowIndex].Cells["SelectDB"].Value.ToString()); findEntity.OrderOn = sort; findEntity.ModifiedOn = DateTime.Now; findEntity.Save(); LoadScriptData(); } } }