注册 登录
编程论坛 C# 论坛

c#如何打印出查询的内容

lukebc 发布于 2016-09-05 15:03, 2632 次点击
以下代码是把所有的记录打印出来,但我要的是怎么打印出查询出的内容,最好能够将查询结果的值传过去,应该怎么改
private void button3_Click(object sender, EventArgs e)
        {
            printDialog1.ShowDialog();  //设置打印文档
            printPreviewDialog1.Document = this.printDocument1;
            printPreviewDialog1.ShowDialog();
        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "server=LUKE\\SQLEXPRESS;uid=sa;pwd=sa;database=luke";
            conn.Open();
            DataTable dt = new DataTable("resouce");
            dt.Clear();
            SqlDataAdapter adp = new SqlDataAdapter("select * from text1", conn);
            adp.Fill(dt);
            dataGridView1.DataSource = dt.DefaultView;

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

                for (int j = 0; j < dt.Columns.Count; j++)
                {

                    e.Graphics.DrawString(dt.Rows[i][j].ToString(), new Font("宋体", 10, FontStyle.Regular), Brushes.Black, r, c);
                    r = r + 60;

                }
                r = 0;
                c += 20;

            }
        }
3 回复
#2
over12302016-09-05 15:19
SqlDataAdapter adp = new SqlDataAdapter("select * from text1", conn);

你打印所有的,是因为你查询的所有的。
你只查你所需要的,打印的就是你需要的。
#3
lukebc2016-09-06 08:37
我知道啊,但是我查询本来有个按钮,但这样做等于我又查询了一遍,我是需要知道,怎么打我查询的值,传到打印事件里,不用再查询
#4
yhlvht2016-09-07 14:01
你查询完成后,值不是已经在dataGridView1.DataSource里面了么,直接取出来就可以了
1