/// <summary> /// グリッドの手入力後に発生するイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void grid_CellEndEdit(object sender, DataGridViewCellEventArgs e) { var id = _grid[0, e.RowIndex].Value.ToString(); //ID var newValue = _grid[e.ColumnIndex, e.RowIndex].Value?.ToString(); //入力値 if (newValue == null) { newValue = ""; } FileData oldFileData; using (var connection = _db.GetConnection()) { oldFileData = FileDataDao.GetData(connection, id); if (oldFileData == null) { MsgBoxUtils.ShowErrorMsgBox("このデータは削除されています。"); return; } //タグを取得します oldFileData._tags = TagDataDao.GetTags(connection, StringUtils.ToInt(id)); } //カラムオブジェクトに値の変更を通知します(カラム側ではファイル名の変更などを行う) var newFileData = ((IFileListColumnForFileInfo)_grid.Columns[e.ColumnIndex]).ValueChanged(oldFileData, newValue); if (newFileData == null) { newFileData = oldFileData; } //行の更新します SetRowData(e.RowIndex, newFileData); }
/****************************************************************************** * * プラグイン用イベントハンドラー * ******************************************************************************/ /// <summary> /// ファイル名変更イベント /// </summary> /// <param name="param"></param> /// <param name="sender"></param> public void PluginEvent_FileNameChanged(EventParam param, object sender) { //変更前と変更後のパスを取得します var oldPath = ((FileNameChangedEventParam)param).OldPath; var newPath = ((FileNameChangedEventParam)param).NewPath; using (var connection = _db.GetConnection()) { var fileData = FileDataDao.GetData(connection, oldPath, "path"); if (fileData != null) { FileDataDao.UpdateField(connection, fileData.id, "path", newPath); } } }
/// <summary> /// ファイル情報テーブルからデータを取得します /// </summary> /// <param name="id"></param> public void LoadData(string id) { using (var connection = _db.GetConnection()) { var fileData = FileDataDao.GetData(connection, id); if (fileData != null) { fileData._tags = TagDataDao.GetTags(connection, fileData.id); //ファイルデータを入力欄に設定します SetFileData(fileData); } } //変更なしにします Modified = false; }