读书人

C# 入门初学者

发布时间: 2012-09-28 00:03:35 作者: rapoo

C# 入门菜鸟
刚接触C#,现在需要做一个新窗体要求如下:1.在原有的窗体上添加一个button控件,点击按钮后会自动跳转到新窗体
2.原有窗体中有一个dataviewer1控件显示数据库的查询结果,现在需要在点击控件后将原有窗体的dataviewer1控件的数据源复制到新窗体的dataviewercopy中

现在我在程序中新建了新窗体,在原有窗体中写了新窗体的跳转代码,但是运行时点击按钮没反应
另关于数据源的复制数据源的问题该怎么处理(需要复制的只是鼠标选中的哪一行的数据)

望各位大大帮帮忙,最好是有具体的代码(给分会高点)
我的窗体跳转代码如下:
private void toolStripButton6_Click(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count == 0)
{
MessageBox.Show("查后再!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
this.Cursor = Cursors.WaitCursor;
DataTable dt = (DataTable)dataGridView1.DataSource;
Dpartcost dpt = new Dpartcost();
partcostcopyfrm pcp = new partcostcopyfrm();
pcp.Show();
if (dt != null) dt.Dispose();
pcp.Dispose();
this.Cursor = Cursors.Default;
}

[解决办法]

C# code
            DataTable dt1 = new DataTable();            dt1.Columns.Add("first");//这里添加你要的列,看你需求要多少列就加多少列            dt1.Columns.Add("second");            if (dataGridView1.SelectedRows.Count > 0)//这里判断是否有选中            {                DataRow drRow = dt1.NewRow();                drRow["first"] = dataGridView1.SelectedRows[0].Cells["first"].Value.ToString();//这里给列赋值                drRow["second"] = dataGridView1.SelectedRows[0].Cells["second"].Value.ToString();                dt1.Rows.Add(drRow);//把行添加到DataTable里            }            frmAnother another = new frmAnother(dt1);//把dt1当作一个参数传递到新窗体            another.Show();            if (dt1 != null)            {                dt1.Dispose();            }            //another.Show();//这里就不要写了,要不然没法显示新窗体
[解决办法]
点击按钮的时候把选中行的数据存下来放到一个公共类里面去,新窗体去公共类里面读。或者直接新窗体写一个能够接受一行数据的构造函数,new的时候传过去就好了

读书人网 >C#

热点推荐