欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# DataGridView中實現(xiàn)勾選存儲數(shù)據(jù)和右鍵刪除數(shù)據(jù)(示例代碼)

 更新時間:2021年07月06日 10:40:28   作者:caoguanghui0804  
這篇文章主要介紹了C# DataGridView中實現(xiàn)勾選存儲數(shù)據(jù)和右鍵刪除數(shù)據(jù)的示例代碼,通過示例代碼給大家展示運行效果圖,需要的朋友可以參考下

DataGridView事件CellContentClick

觸發(fā)dataGridView的CellContentClick事件,并且在事件中調(diào)用Edit 方法。
實現(xiàn)DataGridView中添加CheckBox后不滿足條件去掉勾選
并且實現(xiàn)勾選后將綁定數(shù)據(jù)的存入表的動作

在這里插入圖片描述

點擊確定后去掉勾選

在這里插入圖片描述

Main.cs

 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (this.tabControl1.SelectedIndex)
            {
                //case 0:
                //    //顯示數(shù)據(jù)
                //    ShowVlues();
                //    break;

                case 1:
                   
                    TableDefine.Initial_TableE();
                    for (int i = 0; i <= TableDefine.tGridField.Length - 1; i++)
                    {
                        cboSearch.Items.Add(TableDefine.tGridField[i].sCaption);
                        cboSearchList.Items.Add(TableDefine.tGridField[i].sFieldName);
                    }
                    if (cboSearch.Items.Count > 0)
                    {
                        cboSearch.SelectedIndex = 0;
                    }
                    //取機種
                    DataTable ModelDT = fslConn.GetAllModel();
                    if (ModelDT.Rows.Count > 0)
                    {
                        foreach (DataRow item in ModelDT.Rows)
                        {
                            cboModel.Items.Add(item[0]);
                        }
                    }

                    //取流程
                    DataTable RouteDT = fslConn.GetAllRoute();
                    if (RouteDT.Rows.Count > 0)
                    {
                        foreach (DataRow item in RouteDT.Rows)
                        {
                            cboRoute.Items.Add(item[0]);
                        }
                    }

                    //顯示數(shù)據(jù)
                    ShowEVlues();
                    break; 
            }
        }

        //取數(shù)據(jù)顯示
        void ShowEVlues()
        {
            string sFieldName = string.Empty;
            string sFieldText = string.Empty;
            if (cboSearch.SelectedIndex > -1 && txtSearch.Text.Trim() != "")
            {
                sFieldName = cboSearchList.Items[cboSearch.SelectedIndex].ToString();
                sFieldText = txtSearch.Text.Trim();
            }
            if (string.IsNullOrWhiteSpace(sFieldText))
                gvDataE.DataSource = fslConn.GetAllFslEName();
            else
                gvDataE.DataSource = fslConn.GetAllFslEName(sFieldName, sFieldText);
            //欄位title
            for (int i = 0; i <= gvDataE.Columns.Count - 1; i++)
            {
                gvDataE.Columns[i].Visible = false;
            }
            for (int i = 0; i < TableDefine.tGridField.Length; i++)
            {
                string sGridField = TableDefine.tGridField[i].sFieldName;

                if (gvDataE.Columns.Contains(sGridField))
                {
                    gvDataE.Columns[sGridField].HeaderText = TableDefine.tGridField[i].sCaption;
                    gvDataE.Columns[sGridField].DisplayIndex = i; //欄位顯示順序
                    gvDataE.Columns[sGridField].Visible = true;
                }
            }
            gvDataE.Focus();
            //為dgv增加復選框列
            DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn();
            //列顯示名稱
            checkbox.HeaderText = "選擇";
            checkbox.Name = "IsChecked";
            checkbox.TrueValue = true;
            checkbox.FalseValue = false;
            checkbox.DataPropertyName = "IsChecked";
            //列寬
            checkbox.Width = 50;
            //列大小不改變
            checkbox.Resizable = DataGridViewTriState.False;
            //添加的checkbox在dgv第一列
            this.gvDataE.Columns.Insert(0, checkbox);   
        }
        
  //實現(xiàn)搜索
        private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != (char)Keys.Return)
                return;
            ShowEVlues();
            editFilter.Focus();
        }
   //實現(xiàn)通過流程取站點
        private void cboRoute_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboRoute.Text != "")
            {
                //取站點
                DataTable StationTypeDT = fslConn.GetAllStationType(cboRoute.Text);
                if (StationTypeDT.Rows.Count > 0)
                {
                    for (int i = 0; i < StationTypeDT.Rows.Count; i++)
                    {
                        //cboStationType.Items.Add(item[0]);
                        cboStationType.Items.Add(new Metadata(StationTypeDT.Rows[i][2].ToString(), StationTypeDT.Rows[i][0].ToString(), StationTypeDT.Rows[i][1].ToString()));
                    }
                }
            }
        }
        //點擊勾選事件后進行數(shù)據(jù)綁定
        private void gvDataE_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string Model = cboModel.Text;
            string Route = cboRoute.Text;
            if (Model == "" || Route == ""|| cboStationType.Text == "")
            {
                MessageBox.Show("機種、流程、站點不能為空,請檢查!");
                //DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"];
                // this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"].Value = false;
                //將勾選去掉
                this.gvDataE.RefreshEdit();
                return;
            }

            //站點代碼
            string StationType = ((Metadata)cboStationType.SelectedItem).ID;
            //站點描述
            string StationTypeDesc = ((Metadata)cboStationType.SelectedItem).NAMEDESC;

         
            if (e.ColumnIndex == 0 && e.RowIndex != -1)
            {
                //獲取控件的值
                DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)this.gvDataE.Rows[e.RowIndex].Cells["IsChecked"];
                Boolean flag = Convert.ToBoolean(checkCell.Value);
                //KP品名
                string gvFunName = gvDataE.Rows[e.RowIndex].Cells["MAT_TYPE_CODE"].Value.ToString();
                //KP品名描述
                string gvFunNameDesc = gvDataE.Rows[e.RowIndex].Cells["MAT_TYPE_DESC"].Value.ToString();

        
                if  (flag == false)
                {
                    checkCell.Value = true;
                    //添加權(quán)限
                    fslConn.SaveFslPower(gvFunName, gvFunNameDesc, Model,StationType, StationTypeDesc);
                }
            }
        }

ComboBox取值

main.cs
 //取機種
                    DataTable ModelDT = fslConn.GetAllModel();
                    if (ModelDT.Rows.Count > 0)
                    {
                        foreach (DataRow item in ModelDT.Rows)
                        {
                            cboModel.Items.Add(item[0]);
                        }
                    }
 fslConn.cs                   
 //取機種
        public DataTable GetAllModel()
        {
            return fslDAL.GetAllModel();
        }
fslDAL.cs
 //取機種
        public DataTable GetAllModel()
        {
            string sql = "SELECT MODEL FROM IMES.M_MODEL";
            return utility.Query(sql);
        }    

儲存數(shù)據(jù)

 fslConn.cs  
    public long SaveFslPower(string gvFunName, string gvFunNameDesc, string Model, string StationType, string StationTypeDesc )
        {    
            return fslDAL.SaveFslPower(gvFunName, gvFunNameDesc, Model, StationType, StationTypeDesc);
        }
fslDAL.cs
     //存權(quán)限
        public long SaveFslPower(string gvFunName, string gvFunNameDesc, string Model, string StationType, string StationTypeDesc)
        {
            string id = GetMaxId();
            string sql = @"INSERT INTO IMES.M_STATIONTYPE_PARTSPEC  (ID,MODEL,STATION_TYPE,STATION_DESC,KP_SPEC,KP_SPEC_DESC,QTY,ENABLED,CREATE_EMPNO,CREATE_TIME,UPDATE_EMPNO)
                        VALUES(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11)";
            object[] para = new object[] { id, Model, StationType , StationTypeDesc,gvFunName, gvFunNameDesc, "1", "Y", utility.GlobalUserNo,DateTime.Now, utility.GlobalUserNo };
            return utility.ExecuteSql(sql, para);
        }        

右鍵刪除數(shù)據(jù)

實現(xiàn)效果

在這里插入圖片描述

Main.cs
   //實現(xiàn)DataGridView欄位右鍵刪除數(shù)據(jù)
        private void 刪除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (gvData.Rows.Count == 0 || gvData.CurrentRow == null)
            {
                return;
            }
            string ID = gvData.CurrentRow.Cells["ID"].Value.ToString();
            if (MessageBox.Show("ID:" + ID + " 確認刪除嗎?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                //M_STATIONTYPE_PARTSPEC_HT寫入歷史庫
                fslConn.SaveFslHistoryData(ID);
                移除權(quán)限
                fslConn.DeleteFslByIDAndFunc(ID);

                //顯示數(shù)據(jù)
                ShowVlues();
            }              
        }
fslConn.cs 
    //刪除權(quán)限
        public long DeleteFslByIDAndFunc(string id)
        {
            return fslDAL.DeleteFslByIDAndFunc( id);
        }   
fslDAL.cs
     //刪除權(quán)限
        public long DeleteFslByIDAndFunc(string id)
        {
            string sql = @"Delete from  IMES.M_STATIONTYPE_PARTSPEC WHERE ID =:1";
            object[] para = new object[] { id };
            return utility.ExecuteSql(sql, para);
        }     

到此這篇關(guān)于C# DataGridView中實現(xiàn)勾選存儲數(shù)據(jù)和右鍵刪除數(shù)據(jù)的文章就介紹到這了,更多相關(guān)C# DataGridView右鍵刪除數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論