Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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#(vbs-15)如何填充数据网格并提供链接_C#_Winforms_Datagrid - Fatal编程技术网

c#(vbs-15)如何填充数据网格并提供链接

c#(vbs-15)如何填充数据网格并提供链接,c#,winforms,datagrid,C#,Winforms,Datagrid,抱歉,伙计们,我对c#和vbs还不熟悉。我试图做的是填充datagrid或任何等效的,然后我需要提供指向每一行的可单击按钮/链接 当用户单击按钮时,应用程序应将单击的行id传递给新(其他)表单 问题是如何提供datagrid或任何具有按钮的等效工具,用户可以单击按钮查看记录 非常感谢你的帮助 编辑 private void dataGridView1_CellContentClick_2(object sender, DataGridViewCellEventArgs e) { plug

抱歉,伙计们,我对c#和vbs还不熟悉。我试图做的是填充datagrid或任何等效的,然后我需要提供指向每一行的可单击按钮/链接

当用户单击按钮时,应用程序应将单击的行id传递给新(其他)表单

问题是如何提供datagrid或任何具有按钮的等效工具,用户可以单击按钮查看记录

非常感谢你的帮助

编辑

private void dataGridView1_CellContentClick_2(object sender, DataGridViewCellEventArgs e)
{
    plugin p = new plugin();
    try {
        if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewButtonCell)
        {
            //I need the value of the column here member_id is only showing the rowindex and columnindex now i need the value
            p.alert(dataGridView1.Rows[e.ColumnIndex].Cells[e.ColumnIndex].ToString());

        }
        else
        {
            p.alert(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].ToString() + " on else");
        }
    }
    catch (Exception v)
    {
        //p.alert("Header clicked ");
    }
}
编辑-回答

dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString()


将datagridview从工具箱拖放到窗口中,使用添加按钮列或链接列的属性-->列将数据表中的所有列添加到该窗口中。 将数据绑定到网格,如下所示

DataTable dtMembers = new DataTable();
p.textquery = "SELECT * FROM members ORDER BY member_id DESC LIMIT 250";
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=" + p.dbname() + ";Version=3;");
try
{
    SQLiteDataAdapter da = new SQLiteDataAdapter(p.textquery,m_dbConnection);
    m_dbConnection.Open();
    da.Fill(dtMembers);
    m_dbConnection.Close();
    if(dtMembers.Rows.Count > 0)
        dgvMembers.DataSource = dtMembers;
    else
        p.alert("You do not have members in the system");
}
catch
{
    p.alert("SQL has error - (database error)");
    return;
}
实现DataGridView单元格内容单击

private void dgvMembers_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if(dgvMembers.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewButtonCell)
    {
        //Write your code here
    }
}
请看下面我写的文本属性,点击这里,这是您需要输入按钮名称的地方

您可以在表单中创建一个datagridview并绑定数据,具体需要什么帮助?你不能绑定吗?或者你不知道如何在datagridview中放置按钮?我想两者都应该是个问题,你能给我看看这个吗?在while()上,我需要将数据显示到网格中,并且在每一行的网格中,我需要有一个按钮,在该按钮上,患者id应该分配给该按钮,并在单击该按钮时传递给另一个事件。它可以工作,但没有什么问题,首先,我通过属性-->列添加的按钮没有标签,它只是一个按钮。没有列触发任何dgvMembers_CellContentClick(),在dgvMembers_CellContentClick()上,单击如何获取患者id,因为这是从数据库获取相关数据所需的。它具有文本属性检查,您可以获取行的所有数据或将id保留在标记属性中。您需要在datagridview属性的“事件”选项卡中注册内容单击事件没有列触发任何dgvMembers_CellContentClick()表示网格未为此事件注册如果您仍然无法找到join the Yah您是对的dgvMembers_CellContentClick()没有反映正确的函数,现在我对它进行了调整,但事件没有提供成员id或任何单元格内容/文本。我只能看到ColumnIndex和RowIndex,而不是单元格的内容。p、 警报(dataGridView1.Rows[e.ColumnIndex].Cells[e.ColumnIndex].ToString());。我希望此dgvMembers_CellContentClick()接收单元格的内容,以便我可以使用它
DataTable dtMembers = new DataTable();
p.textquery = "SELECT * FROM members ORDER BY member_id DESC LIMIT 250";
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=" + p.dbname() + ";Version=3;");
try
{
    SQLiteDataAdapter da = new SQLiteDataAdapter(p.textquery,m_dbConnection);
    m_dbConnection.Open();
    da.Fill(dtMembers);
    m_dbConnection.Close();
    if(dtMembers.Rows.Count > 0)
        dgvMembers.DataSource = dtMembers;
    else
        p.alert("You do not have members in the system");
}
catch
{
    p.alert("SQL has error - (database error)");
    return;
}
private void dgvMembers_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if(dgvMembers.Rows[e.RowIndex].Cells[e.ColumnIndex] is DataGridViewButtonCell)
    {
        //Write your code here
    }
}