Exemple #1
0
 private void InitEvents()
 {
     /*删除用户*/
     this.btnDelete.Click += new EventHandler(delegate(object sender, EventArgs args)
     {
         DataTable dt = dgvUser.DataSource as DataTable;
         if (null != dt)
         {
             Dictionary <string, object> dic;
             foreach (DataGridViewRow row in this.dgvUser.SelectedRows)
             {
                 dic = new Dictionary <string, object>();
                 dic.Add("username", row.Cells["User Name"].Value.ToString());
                 processor.ExecuteNonQuery("DELETE FROM USERINFO  WHERE username=@username", dic);
                 dt.Rows.RemoveAt(row.Index);
             }
             //this.InitUsers();
             this.dgvUser.DataSource = dt;
         }
     });
     /*删除meanings*/
     this.btnDelMean.Click += new EventHandler(delegate(object sender, EventArgs args)
     {
         object o = this.clbMeaning.SelectedValue;
         if (o == null && o.ToString() == string.Empty)
         {
             MessageBox.Show("Please select the item!");
         }
         else
         {
             Dictionary <string, object> dic = new Dictionary <string, object>();
             dic.Add("id", o.ToString());
             processor.ExecuteNonQuery("DELETE FROM Meanings  WHERE id=@id", dic);
             processor.ExecuteNonQuery("DELETE FROM UserMeanRelation  WHERE MeaningsID=@id", dic);
             //this.InitMeaning();
             /* 重新绑定数据源 取消从数据库中读取*/
             List <Meanings> list = this.clbMeaning.DataSource as List <Meanings>;
             if (list != null)
             {
                 list = new List <Meanings>(list);//it does not make sense? it is bugged?
                 list.Remove(this.clbMeaning.SelectedItem as Meanings);
                 this.clbMeaning.DataSource    = list;
                 this.clbMeaning.ValueMember   = "ID";
                 this.clbMeaning.DisplayMember = "Desc";
             }
         }
     });
     #region comment itemcheck
     /*list check event*/
     this.clbMeaning.ItemCheck += new ItemCheckEventHandler(delegate(object sender, ItemCheckEventArgs args)
     {
         if (!flag)
         {
             return;
         }
         if (this.dgvUser.SelectedRows.Count <= 0)
         {
             MessageBox.Show("Please select the user!");
             args.NewValue = args.CurrentValue;
         }
         else
         {
             Dictionary <string, object> dic = new Dictionary <string, object>();
             int meanid      = ((Meanings)clbMeaning.SelectedItem).Id;
             string username = this.dgvUser.SelectedRows[0].Cells["User Name"].Value.ToString();
             dic.Add("MeaningsID", meanid);
             dic.Add("username", username);
             object obj = processor.QueryScalar("SELECT 1 FROM UserMeanRelation where MeaningsID=@MeaningsID AND username=@username", dic);
             if (args.NewValue == CheckState.Checked && obj == null)//添加
             {
                 obj = processor.QueryScalar("SELECT MAX(ID) FROM UserMeanRelation", null);
                 UserMeanRelation u = new UserMeanRelation();
                 u.ID = obj != null && obj.ToString() != string.Empty ? Convert.ToInt32(obj) + 1 : 1;
                 //u.MeaningsID = meanid;
                 u.Username    = username;
                 u.MeaningDesc = ((Meanings)clbMeaning.SelectedItem).Desc;
                 u.Remark      = DateTime.Now.ToString();
                 if (processor.Insert <UserMeanRelation>(u, null))
                 {
                     return;//MessageBox.Show("Add the meaning to " + username + " successfully!");
                 }
                 else
                 {
                     MessageBox.Show("Add the meaning to " + username + " error!");
                 }
             }
             else if (args.NewValue == CheckState.Unchecked && obj != null)
             {
                 processor.ExecuteNonQuery("DELETE FROM UserMeanRelation WHERE MeaningsID=@MeaningsID AND username=@username ", dic);
             }
         }
     });
     #endregion
     //selection changed
     this.dgvUser.SelectionChanged += new EventHandler(delegate(object sender, EventArgs args)
     {
         this.UserSelectedChange();
     });
     #region comment
     //this.clbMeaning.SelectedIndexChanged += new EventHandler(delegate(object sender, EventArgs args)
     //{
     //    if (!flag) return;
     //    CheckState ck = this.clbMeaning.GetItemCheckState(clbMeaning.Items.IndexOf(clbMeaning.SelectedItem));
     //    if (this.dgvUser.SelectedRows.Count <= 0)
     //    {
     //        MessageBox.Show("Please select the user!");
     //        //args.NewValue = args.CurrentValue;
     //    }
     //    else
     //    {
     //        Dictionary<string, object> dic = new Dictionary<string, object>();
     //        int meanid = ((Meanings)clbMeaning.SelectedItem).Id;
     //        string username = this.dgvUser.SelectedRows[0].Cells["User Name"].Value.ToString();
     //        dic.Add("MeaningsID", meanid);
     //        dic.Add("username", username);
     //        object obj = processor.QueryScalar("SELECT 1 FROM UserMeanRelation where MeaningsID=@MeaningsID AND username=@username", dic);
     //        if (ck == CheckState.Unchecked && obj == null)//添加
     //        {
     //            obj = processor.QueryScalar("SELECT MAX(ID) FROM UserMeanRelation", null);
     //            UserMeanRelation u = new UserMeanRelation();
     //            u.ID = obj != null && obj.ToString() != string.Empty ? Convert.ToInt32(obj) + 1 : 1;
     //            u.MeaningsID = meanid;
     //            u.Username = username;
     //            u.MeaningDesc = ((Meanings)clbMeaning.SelectedItem).Desc;
     //            u.Remark = DateTime.Now.ToString();
     //            if (processor.Insert<UserMeanRelation>(u, null))
     //            {
     //                //MessageBox.Show("Add the meaning to " + username + " successfully!");
     //                this.clbMeaning.SetItemCheckState(this.clbMeaning.SelectedIndex, ck == CheckState.Checked ? CheckState.Unchecked : CheckState.Checked);
     //            }
     //            else
     //                MessageBox.Show("Add the meaning to " + username + " error!");
     //        }
     //        else if (ck == CheckState.Checked && obj != null)
     //        {
     //            processor.ExecuteNonQuery("DELETE FROM UserMeanRelation WHERE MeaningsID=@MeaningsID AND username=@username ", dic);
     //            this.clbMeaning.SetItemCheckState(this.clbMeaning.SelectedIndex, ck == CheckState.Checked ? CheckState.Unchecked : CheckState.Checked);
     //        }
     //    }
     //});
     #endregion
 }
Exemple #2
0
 public Meaning(Meanings mn, UserMeanRelation ur) : this()
 {
     this._meanging = mn;
     this.relation  = ur;
 }