Пример #1
0
        // 当前列表的选中记录发生变化
        private void listView_log_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listView_log.SelectedItems.Count > 0)
            {
                this._currentListViewItem = this.listView_log.SelectedItems[0];
                this._currentID           = this._currentListViewItem.Text;
                NoteItem item = this._noteManager.Get(this._currentID);

                // 将信息设到输入控件上
                this.SetControlInfo(item);

                //编辑与删除按钮可用
                this.button_edit.Enabled   = true;
                this.button_delete.Enabled = true;
                //this.button_add.Enabled = false;
            }
            else
            {
                this._currentListViewItem = null;
                this._currentID           = "";

                // 编辑与删除按钮不可用
                this.button_edit.Enabled   = false;
                this.button_delete.Enabled = false;
                //this.button_add.Enabled = true;

                // 清空控件
                this.ClearControl();
            }
        }
Пример #2
0
        /*
         * <root>
         * <note>
         * <id>123</id>
         * <title>test</title>
         * <catalog/>
         * <level/>
         * <content/>
         * <updateTime/>
         * </note>
         * <note>...</note>
         * </root>
         */
        private void ParseXml(XmlDocument dom)
        {
            XmlNode root = dom.DocumentElement;

            XmlNodeList noteList = root.SelectNodes("note");

            foreach (XmlNode node in noteList)
            {
                string id         = DomUtil.GetElementText(node, "id");
                string title      = DomUtil.GetElementText(node, "title");
                string catalog    = DomUtil.GetElementText(node, "catalog");
                string level      = DomUtil.GetElementText(node, "level");
                string content    = DomUtil.GetElementText(node, "content");
                string updateTime = DomUtil.GetElementText(node, "updateTime");

                // 创建NoteItem对象
                NoteItem item = new NoteItem()
                {
                    ID         = id,
                    Title      = title,
                    Catalog    = catalog,
                    Level      = level,
                    Content    = content,
                    UpdateTime = updateTime,
                };
                // 加到集合中
                this.Notes.Add(item);
            }
        }
Пример #3
0
        //删除事项
        public void Delete(string id)
        {
            NoteItem item = this.Get(id);

            if (item != null)
            {
                // 从集合中移除
                this.Notes.Remove(item);
            }
        }
Пример #4
0
        // 根据内存对象设置界面信息
        private void SetControlInfo(NoteItem item)
        {
            if (item == null)
            {
                return;
            }

            this._currentID              = item.ID;
            this.textBox_title.Text      = item.Title;
            this.textBox_catalog.Text    = item.Catalog;
            this.comboBox_level.Text     = item.Level;
            this.textBox_content.Text    = item.Content;
            this.textBox_updateTime.Text = item.UpdateTime;
        }
Пример #5
0
        // 新增事项
        public void Add(NoteItem item)
        {
            Debug.Assert(item != null, "item参数不能为null");

            NoteItem temp = this.Get(item.ID);

            if (temp != null)
            {
                throw new Exception("id为[" + item.ID + "]的事项已经存在.");
            }

            // 加到集合中
            this.Notes.Add(item);
        }
Пример #6
0
        // 将内存对象NoteItem加到界面列表中
        private void AddToListView(NoteItem note)
        {
            //给界面的listview填加一行  
            ListViewItem item = new ListViewItem();

            item.Text = note.ID;
            item.SubItems.Add(note.Title);
            item.SubItems.Add(note.Catalog);
            item.SubItems.Add(note.Level);
            item.SubItems.Add(note.UpdateTime);
            item.SubItems.Add(note.Content);

            this.listView_log.BeginUpdate();
            this.listView_log.Items.Add(item);
            this.listView_log.Items[this.listView_log.Items.Count - 1].EnsureVisible();//滚动到最后  
            this.listView_log.EndUpdate();
        }
Пример #7
0
        // 编辑事项
        public void Edit(NoteItem item)
        {
            Debug.Assert(item != null, "item参数不能为null");

            NoteItem oldItem = this.Get(item.ID);

            if (oldItem == null)
            {
                throw new Exception("id为[" + item.ID + "]的事项不存在.");
            }

            //  更新内存中的数据
            oldItem.Title      = item.Title;
            oldItem.Catalog    = item.Catalog;
            oldItem.Level      = item.Level;
            oldItem.Content    = item.Content;
            oldItem.UpdateTime = item.UpdateTime;
        }
Пример #8
0
        //编辑
        private void Edit()
        {
            if (string.IsNullOrEmpty(this._currentID) == false)
            {
                NoteItem note = this.CreateNoteItem(false);
                this._noteManager.Edit(note);

                // 更新listview当前记录
                this._currentListViewItem.SubItems.Clear();
                ListViewItem item = this._currentListViewItem;
                item.Text = note.ID;
                item.SubItems.Add(note.Title);
                item.SubItems.Add(note.Catalog);
                item.SubItems.Add(note.Level);
                item.SubItems.Add(note.UpdateTime);
                item.SubItems.Add(note.Content);


                // 清空控件
                this.ClearControl();
            }
        }
Пример #9
0
        // 根据界面输入的信息创建一个NoteItem对象
        private NoteItem CreateNoteItem(bool bNew)
        {
            string id = "";

            if (bNew == true)
            {
                id = Guid.NewGuid().ToString();
            }
            else
            {
                id = this._currentID;
            }

            string title = this.textBox_title.Text.Trim();

            if (title == "")
            {
                MessageBox.Show(this, "尚未输入标题");
                return(null);
            }
            string catalog    = this.textBox_catalog.Text.Trim();
            string level      = this.comboBox_level.Text;
            string content    = this.textBox_content.Text.Trim();
            string updateTime = GetNowTime();

            NoteItem note = new NoteItem()
            {
                ID         = id,
                Title      = title,
                Level      = level,
                Catalog    = catalog,
                Content    = content,
                UpdateTime = updateTime,
            };

            return(note);
        }
Пример #10
0
        // 新增按钮,点击事件
        private void button_add_Click(object sender, EventArgs e)
        {
            NoteItem note = this.CreateNoteItem(true);

            if (note == null)
            {
                return;
            }

            //// 清空当前记录
            this._currentID            = "";
            this._currentListViewItem  = null;
            this.button_delete.Enabled = false;
            this.button_edit.Enabled   = false;

            // 给内存集合增加一条记录
            this._noteManager.Add(note);

            //给界面的listview填加一行  
            this.AddToListView(note);

            // 清空控件
            this.ClearControl();
        }