Beispiel #1
0
        /// <summary>
        /// 変更
        /// </summary>
        protected void btnEdit_Click(object sender, EventArgs e)
        {
            if (this.ltvList.SelectedIndices.Count > 0)
            {
                var newItem = new ListViewItem("");
                var eArgs   = new RequestAddItemEventArgs(newItem, true);
                this.RequestAddItem?.Invoke(this, eArgs);       //新しい項目を取得し、適用できるか調べる

                if (eArgs.Canceled)
                {
                    return;     //適用できない場合
                }
                else if (!this.AllowOverlap)
                {
                    //左端の列テキストで重複チェック
                    foreach (ListViewItem item in this.ltvList.Items)
                    {
                        if (item.Text == newItem.Text && this.ltvList.SelectedItems[0] != item)
                        {
                            MessageBox.Show(Resources.MsgE_ForbidOverlap.Replace("$", "項目"), Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                }

                //変更処理
                this.ltvList.Items[this.ltvList.SelectedIndices[0]] = newItem;
                this.ltvList.Focus();
                this.ListChanged?.Invoke(this, null);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 追加
        /// </summary>
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            var newItem = new ListViewItem("");
            var eArgs   = new RequestAddItemEventArgs(newItem, false);

            this.RequestAddItem?.Invoke(this, eArgs);       //新しい項目を取得し、適用できるか調べる

            if (eArgs.Canceled)
            {
                //適用できない場合
                return;
            }
            else if (!this.AllowOverlap)
            {
                //重複を許さない場合、左端の列テキスト (FixedIDを表示する場合はFixedID) で重複チェック
                foreach (ListViewItem item in this.ltvList.Items)
                {
                    if (item.Text == newItem.Text)
                    {
                        MessageBox.Show(Resources.MsgE_ForbidOverlap.Replace("$", "項目"), Resources.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }

            //追加処理
            this.ltvList.Items.Add(newItem);
            this.ltvList.SelectedIndices.Clear();
            this.RequestClearListEditorSource(this, null);      //ソース入力欄を初期化
            this.RequestWatchControls(this, null);
            this.ListChanged?.Invoke(this, null);
        }