Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过单击按钮C Winform获取动态创建表单中每个记录的ID_C#_Winforms - Fatal编程技术网

C# 通过单击按钮C Winform获取动态创建表单中每个记录的ID

C# 通过单击按钮C Winform获取动态创建表单中每个记录的ID,c#,winforms,C#,Winforms,我有一个表格,可以返回某个医生的所有预约。我想知道的是如何获取每个返回数据的ID 以下是我想要实现的目标。 1.根据此特定医生的预约次数动态创建控件。 2.编辑每个约会-但为了做到这一点。我需要去 通过单击事件指定面板的ID。我有什么权利 现在是。。我只获得最后一条记录的ID—— MySqlConnection con = new MySqlConnection("Server = localhost ;Database = mica_userclient_laravel; username =

我有一个表格,可以返回某个医生的所有预约。我想知道的是如何获取每个返回数据的ID

以下是我想要实现的目标。 1.根据此特定医生的预约次数动态创建控件。 2.编辑每个约会-但为了做到这一点。我需要去 通过单击事件指定面板的ID。我有什么权利 现在是。。我只获得最后一条记录的ID——

MySqlConnection con = new MySqlConnection("Server = localhost ;Database = mica_userclient_laravel; username = root;");
// MySqlConnection con = new MySqlConnection("Server = sql12.freemysqlhosting.net; Database = sql12221392; Uid=sql12221392; Password=5gZN1uN6NX;");
MySqlDataAdapter da = new MySqlDataAdapter(@"SELECT users.id, 
        users.fname, users.mname, users.lname, 
        appointments.created_at, appointments.id, 
        appointments.status 
        FROM users, appointments 
        WHERE users.id = user_id 
          AND appointments.status = 0 
          AND appointments.client_id = '" + textBox2.Text + "'", con);

DataTable dt = new DataTable();
da.Fill(dt);
//textBox1.Text = dt.Rows[1].ItemArray[5].ToString();

//login.quantity = textBox2.Text;

//label4.Text = Convert.ToDateTime(dt.Rows[1].ItemArray[4]).ToString("MMM dd, yyyy");
//label7.Text = Convert.ToDateTime(dt.Rows[1].ItemArray[4]).ToString("h:mm tt");
//label3.Text = dt.Rows[1].ItemArray[3].ToString() + ", " + dt.Rows[1].ItemArray[1].ToString();

for (int i = 0; i < dt.Rows.Count; i++)
{

    textBox[i] = new TextBox();
    textBox[i].Name = "n" + i;
    textBox[i].Text = dt.Rows[i].ItemArray[5].ToString();
    textBox[i].Visible = true;
    textBox[i].Location = new Point(txtboxX, txtboxY);
    txtboxY += 25;
    panel[i] = new Panel();
    panel[i].Name = "n" + i;
    panel[i].Width = 793;
    panel[i].Height = 56;
    panel[i].BackColor = Color.WhiteSmoke;
    panel[i].Location = new Point(panelX, panelY);
    panelY += 80;




    label[i] = new Label();
    label[i].Name = "n" + i;
    //label[i].Parent = panel[i];
    label[i].Font = new Font("Century Gothic", 14);
    label[i].Height = 22;
    label[i].Width = 250;
    label[i].ForeColor = Color.Gray;
    label[i].Text = dt.Rows[i].ItemArray[2].ToString() + ", " + dt.Rows[i].ItemArray[1].ToString();
    label[i].Location = new Point(labelX, labelY);

    label1[i] = new Label();
    label1[i].Name = "n" + i;
    //label[i].Parent = panel[i];
    label1[i].Font = new Font("Century Gothic", 14, FontStyle.Bold);
    label1[i].Height = 22;
    label1[i].Width = 250;
    label1[i].ForeColor = Color.Gray;
    label1[i].Text = Convert.ToDateTime(dt.Rows[i].ItemArray[4]).ToString("MMM dd, yyyy - h:mm tt");
    label1[i].Location = new Point(label1X, label1Y);

    imgbtn[i] = new BunifuImageButton();
    imgbtn[i].BackColor = Color.Transparent;
    imgbtn[i].SizeMode = PictureBoxSizeMode.Zoom;
    imgbtn[i].ImageLocation = @"Image\edit.png";
    imgbtn[i].Width = 46;
    imgbtn[i].Height = 38;
    //imgbtn[i].ImageActive = @"Image\edit2.png";
    imgbtn[i].Location = new Point(imgbtnX, imgbtnY);
    imgbtn[i].Click += new EventHandler(bunifuImageButton1_Click);


    this.Controls.Add(panel[i]);
    this.Controls.Add(label[i]);
    this.Controls.Add(imgbtn[i]);
    this.Controls.Add(textBox[i]);
    panel[i].Controls.Add(label[i]);
    panel[i].Controls.Add(label1[i]);
    panel[i].Controls.Add(imgbtn[i]);

    gumanaka = textBox[i].Text;
}

单击表时,可以使用DataRowView获取该列

有关表格的“选择已更改”事件的示例,您可以使用:

DataRowView dr = table_name.SelectedItem as DataRowView;
int id = Convert.ToInt32(dr["appointments_id"]);
或者在您的情况下,如果是第五个元素:

int id = Convert.ToInt32(dr[4]);
只需使用

MessageBox.Show(dr.ToString());

很抱歉我需要获取动态创建的特定记录的ID。我只得到最后一张唱片。。是否有任何方法可以获取特定面板的ID?您所说的ID是什么意思?约会表中的约会ID。您正在表格的行上循环。要检索的ID存储在此表的哪列中?这是文本框中显示的值吗?因为我要连接两个表。。存储我的ID的列位于第5个ItemArray上。。每个记录的值都会动态显示。我稍后会尝试。非常感谢你!