
c#winform 报表的数据源设置为datagridview控件
c#winform中窗体form1中有datagridview控件(手动写代码绑定的数据),stringstr=@"DataSource=zhang-pc\sql2005...
c#winform中窗体form1中有datagridview控件(手动写代码绑定的数据),
string str = @"Data Source=zhang-pc\sql2005;Initial Catalog=档案管理;uid=sa;password=sa1234";
SqlConnection strconn = new SqlConnection(str);
strconn.Open();
SqlDataAdapter dar = new SqlDataAdapter("select 工程编号,工程名,工程地点,编制日期,保存期限,密级,修改日期,录入日期,创建人 from tb_word", strconn);
SqlCommandBuilder cb = new SqlCommandBuilder();
DataSet ds = new DataSet();
ds.Clear();
dar.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
strconn.Close();
如何将报表的数据源设置为它?
比如:form1窗体中有一个datagridview控件和一个button控件,我点击button就可以根据datagridview的内容生成一个报表 展开
string str = @"Data Source=zhang-pc\sql2005;Initial Catalog=档案管理;uid=sa;password=sa1234";
SqlConnection strconn = new SqlConnection(str);
strconn.Open();
SqlDataAdapter dar = new SqlDataAdapter("select 工程编号,工程名,工程地点,编制日期,保存期限,密级,修改日期,录入日期,创建人 from tb_word", strconn);
SqlCommandBuilder cb = new SqlCommandBuilder();
DataSet ds = new DataSet();
ds.Clear();
dar.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
strconn.Close();
如何将报表的数据源设置为它?
比如:form1窗体中有一个datagridview控件和一个button控件,我点击button就可以根据datagridview的内容生成一个报表 展开
4个回答
展开全部
删除有两种情况:
1.你只是手工删除dataGridView选中行,数据库里的这行数据并没有改变,代码这样写:
if (this.dgvXFLB.SelectedRows.Count > 0)
{
DataRowView drv = dgvXFLB.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();
}
判断是否有被选中的行,然后将该行删除,注意,只是dataGridView里移除该行了,数据库里没有发生任何改变。(dgvXFLB是dataGridView,你可以改成自己的)
2.数据库里删除该行数据:
首先你得知道这条数据的主键,它是唯一的,根据主键删除相应内容。
在这里,绑定数据我就不说了。
直接说使用Sql语句删除——
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+主键值+"", oraconn);
oracomm.ExecuteNonQuery();
看能否对你有帮助,不明白的还可以问我。
回LZ:
既然你要做第二种,那么你的dataGridView里应该有一列是主键,选中某行时获取这行的主键就可以了。
这样获取:
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+this.dataGridView.CurrentRow.Cells["主键列名"].Value+"", oraconn);
oracomm.ExecuteNonQuery();
1.你只是手工删除dataGridView选中行,数据库里的这行数据并没有改变,代码这样写:
if (this.dgvXFLB.SelectedRows.Count > 0)
{
DataRowView drv = dgvXFLB.SelectedRows[0].DataBoundItem as DataRowView;
drv.Delete();
}
判断是否有被选中的行,然后将该行删除,注意,只是dataGridView里移除该行了,数据库里没有发生任何改变。(dgvXFLB是dataGridView,你可以改成自己的)
2.数据库里删除该行数据:
首先你得知道这条数据的主键,它是唯一的,根据主键删除相应内容。
在这里,绑定数据我就不说了。
直接说使用Sql语句删除——
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+主键值+"", oraconn);
oracomm.ExecuteNonQuery();
看能否对你有帮助,不明白的还可以问我。
回LZ:
既然你要做第二种,那么你的dataGridView里应该有一列是主键,选中某行时获取这行的主键就可以了。
这样获取:
OracleCommand oracomm = new OracleCommand("delete from 表名 where ID="+this.dataGridView.CurrentRow.Cells["主键列名"].Value+"", oraconn);
oracomm.ExecuteNonQuery();
展开全部
你可以试一试FineReport报表,它可以自定义的程序数据源,文本数据源,Excel数据源,XML数据源等等,这些都可以直接作为报表的数据源来进行设计工作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
响应你这个Button的Click事件,然后把 你上面的代码放到click事件里 就可以了 实现你一点Button在DataGridView显示数据了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
添加水晶报表 绑定 dataGridView1就可以了
追问
具体要怎么弄啊,说详细点,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询