使用onClick和Accept按钮选择DataGridView中的行c#

时间:2019-12-16 11:45:30

标签: c# forms datagridview

我正在互联网上寻找这种解决方案,但我发现只在 datagridview 的列中添加了一个按钮。

我有这样的表格:

enter image description here

我想做的是选中一行(OnClick)之后,然后按“ button3”,做点什么,但我不知道怎么做

使用doubleClick,我正在做我想做的事,但是我也想用按钮来做,所以我该怎么做?

编辑!这是我的代码在DoubleClick上的工作方式:

private void EmpresasDataGridView_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        string nempresa = EmpresasDataGridView.Rows[e.RowIndex].Cells["CODEMP"].Value.ToString();
        string empresaSeleccionada = EmpresasDataGridView.Rows[e.RowIndex].Cells["DENOMI"].Value.ToString();

        // Almacenarlo en la key "Empresa" de app.config -> appSettings
        Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);
        config.AppSettings.Settings["EMPRESA"].Value = nempresa; //Add("EMPRESA", nempresa);
        config.Save(ConfigurationSaveMode.Minimal);
        ConfigurationManager.RefreshSection("appSettings");

        //Cojo el valor una vez cambiado en app.config para asegurar el funcionamiento
        string configvalue1 = ConfigurationManager.AppSettings["EMPRESA"];

       // MessageBox.Show("La empresa seleccionada es: " + empresaSeleccionada + " y el código de empresa modificado es: " + configvalue1);
        base.Close();
    }

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要订阅点击按钮的事件。然后只需检查是否选择了任何行。

class Program
    {
        static void Main(string[] args)
        {
            int agg = 50;
            int sub = 50;
            for (int i = 0; i < 100; i++)
            {
                WutHap(agg, sub);
            }
            int pop = sub + agg;
            Console.WriteLine("Total aggs = " + agg);
            Console.WriteLine("Total subs = " + sub);
            Console.WriteLine("Total population = " + pop);
            Console.ReadKey();
        }
        static string NumGen()
        {
            string[] pengs = new string[2]{"agg", "sub"};
            Random numGen = new Random();
            int mepi = numGen.Next(1, 2);
            int mepi2 = numGen.Next(1, 2);
            string pemi = pengs[mepi];
            string pemi2 = pengs[mepi2];
            string whoMet = pemi + ", " + pemi2;
            return whoMet;
        }
        static int WutHap(int agg, int sub)
        {
            NumGen();
            switch (NumGen())
            {
                case ("agg, agg"):
                    --agg;
                    --agg;
                    break;
                case ("agg, sub"):
                    ++agg;
                    ++agg;
                    ++agg;
                    --sub;
                    break;
                case ("sub, agg"):
                    --sub;
                    ++agg;
                    ++agg;
                    ++agg;
                    break;
                case ("sub, sub"):
                    ++sub;
                    ++sub;
                    break;
            }
        }

    }

答案 1 :(得分:0)

如果我理解正确,那很容易。您必须设置

DataGridView1.SelectionMode = FullRowSelect

...显然已经存在。然后,您只需将选定的行称为以下内容:

DataGridViewRow drSelected = DataGridView1.SelectedRows(0);

因此,您从选定行的集合中获取第一项(如果允许Multiselect,则可以处理多个行)。然后,您可以将代码放入Button1 Click事件(在设计器中双击按钮)以使用该行,例如:

MsgBox("Selected value of DENOMI column is " + drSelected.cells("DENOMI").value);