我正在互联网上寻找这种解决方案,但我发现只在 datagridview 的列中添加了一个按钮。
我有这样的表格:
我想做的是选中一行(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();
}
谢谢!
答案 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);