繁体   English   中英

如何使用SQL从C#中的DataGridView打印选定的行

[英]How to print selected row from DataGridView in C# with SQL

使用以下代码,仅打印SQL中的第一行,如何使用SQL在C#中从DataGridView打印选定的行:

public partial class PrintScreen : Form 
{ 
    SqlConnection con = new SqlConnection(@"Server = TEST;DataBase=Registration;Integrated Security=true;");
    SqlDataAdapter da;
    DataTable dt = new DataTable();

    public PrintScreen()
    {
       InitializeComponent();
       da = new SqlDataAdapter("select * from data_graduation", con);
       da.Fill(dt);
       this.dataGridView1.DataSource = dt;
    }

    private void Print_ys_ar_cert_Click(object sender, EventArgs e)
    {
        Print_ys_ar_cert frm = new Print_ys_ar_cert();
        da = new SqlDataAdapter("select * from data_graduation where ID_gra = '" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'", con);
        da.Fill(frm.RegistrationDataSet1.data_graduation);
        frm.reportViewer2.RefreshReport();
        frm.Show();
    }
}

当前,您正在传递网格第一行的Cells[0]的值,您需要传递所选行的值:

if(dataGridView1.SelectedRows.Count>0)
{
    var selectedValue = dataGridView1.SelectedRows[0].Cells[0].ToString();
    //rest of code
}

由于您已经从数据库中加载了该行,因此无需再次从数据库中加载该行,您可以通过以下方式将其简单地添加到作为报表数据源的数据表中:

var row = ((DataRowView)(dataGridView1.SelectedRows[0].DataBoundItem)).Row;
frm.RegistrationDataSet1.data_graduation.Rows.Add(row.ItemArray);
//rest of code

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM