C#WinForm
//其他代码省略.......... public void test1() {
this.dgv.DataSource = test2();
MessageBox.Show(this.dgv.Rows.Count.ToString());
}
//按钮点击事件
void btn_Click(object sender, EventArgs e)
{
MessageBox.Show(this.dgv.Rows.Count.ToString());
}
public DataTable test2()
{
DataTable dt = test3();
for (int j = 0; j < 20; j++)
{
DataRow dr = dt.NewRow();
dr["日期"] = null;
dr["单据编号"] = null;
dr["商品名称"] = null;
dr["数量"] = System.DBNull.Value;
dr["过账出入库数量"] = System.DBNull.Value;
dr["草稿出入库数量"] = System.DBNull.Value;
dr["订单出入库数量"] = System.DBNull.Value;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable test2()
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("日期", System.Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("单据编号", System.Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("数量", System.Type.GetType("System.String"));
DataColumn dc4 = new DataColumn("单位全名", System.Type.GetType("System.String"));
DataColumn dc5 = new DataColumn("商品名称", System.Type.GetType("System.String"));
DataColumn dc6 = new DataColumn("过账出入库数量", System.Type.GetType("System.Single"));
DataColumn dc7 = new DataColumn("草稿出入库数量", System.Type.GetType("System.Single"));
DataColumn dc8 = new DataColumn("订单出入库数量", System.Type.GetType("System.Single"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
dt.Columns.Add(dc6);
dt.Columns.Add(dc7);
dt.Columns.Add(dc8);
return dt;
}
test1() 打印出0
btn_Click() 打印出21
为啥同一个dgv打印出两个不同的数据呢??
//其他代码省略.......... public void test1() {
this.dgv.DataSource = test2();
MessageBox.Show(this.dgv.Rows.Count.ToString());
}
//按钮点击事件
void btn_Click(object sender, EventArgs e)
{
MessageBox.Show(this.dgv.Rows.Count.ToString());
}
public DataTable test2()
{
DataTable dt = test3();
for (int j = 0; j < 20; j++)
{
DataRow dr = dt.NewRow();
dr["日期"] = null;
dr["单据编号"] = null;
dr["商品名称"] = null;
dr["数量"] = System.DBNull.Value;
dr["过账出入库数量"] = System.DBNull.Value;
dr["草稿出入库数量"] = System.DBNull.Value;
dr["订单出入库数量"] = System.DBNull.Value;
dt.Rows.Add(dr);
}
return dt;
}
public DataTable test2()
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("日期", System.Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("单据编号", System.Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("数量", System.Type.GetType("System.String"));
DataColumn dc4 = new DataColumn("单位全名", System.Type.GetType("System.String"));
DataColumn dc5 = new DataColumn("商品名称", System.Type.GetType("System.String"));
DataColumn dc6 = new DataColumn("过账出入库数量", System.Type.GetType("System.Single"));
DataColumn dc7 = new DataColumn("草稿出入库数量", System.Type.GetType("System.Single"));
DataColumn dc8 = new DataColumn("订单出入库数量", System.Type.GetType("System.Single"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
dt.Columns.Add(dc6);
dt.Columns.Add(dc7);
dt.Columns.Add(dc8);
return dt;
}
test1() 打印出0
btn_Click() 打印出21
为啥同一个dgv打印出两个不同的数据呢??
{}
不好意思打错了
{
}
不好意思打错了
this.dgv.DataSource = test2();//
this.dgv.DataBind(); //加上试试
MessageBox.Show(this.dgv.Rows.Count.ToString());
} 因为你没有绑定所以是0
这是C#WinForm DataGridView 没这个方法
this.dgv.DataSource 这个属性是显示数据源
this.dgv.DataBindings 这个属性是绑定数据源
它应该会自动绑定啊
为什么我点击按钮的时候
打印有数据呢??
如果下面那个是test3的话,
将你创建的test2中的;
DataTable dt = test3();
test3中的
DataTable dt = new DataTable();
在方法外外面定义一个DataTable dt;
而将内部的DataTable都去掉,只写个dt