예제 #1
0
        /// <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);
        }
예제 #2
0
        /******************************************************************************
        *
        *  プラグイン用イベントハンドラー
        *
        ******************************************************************************/

        /// <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);
                }
            }
        }
예제 #3
0
        /// <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;
        }