关于在插件中给单据体大数据两添加行的建议
2,470次浏览
编辑于2014年03月18日 14:28:08
下面是我在商机的测试带代码
for (int i = 0; i < 1000; i++)
{
//结果集插入到表体中,先定义行变量
DataRow dr = m_BillInterface.Data.Tables["page2"].Rows.Add();
//给行字段赋值(注意,此字段是F7类型,后面的优化就是对此字段)
//只给产品内码赋值,EBOS平台会根据产品内码到数据库取物料编号、物料名称
dr["FProductID"] = 2012;
dr["FAmount"] = 100 + i;
dr["FUnitPrice"] = i;
dr["FSum"] = i;
dr["FUOM"] = i;
dr["FNote"] = "";
//后面还有字段没列出,需要130秒
}
m_BillInterface.RefreshGrid(2);
---------------以下是优化后的代码--------------------------------------
m_BillInterface.SetFireChangeVariable(false);//增加SetFireChangeVariable的调用
for (int i = 0; i < 1000; i++)
{
//结果集插入到表体中,先定义行变量
DataRow dr = m_BillInterface.Data.Tables["page2"].Rows.Add();
//给行字段赋值
//除了给产品内码赋值,还直接给物料编号、物料名称赋值
//前面的SetFireChangeVariable就是告诉EBOS平台,不用到数据库再取值了
dr["FProductID"] = 2012;
dr["FProductID_FNDName"] = i.ToString()+"DFSDFsd";
dr["FProductID_DSPName"] = i.ToString() + "DFSDFsd";
dr["FAmount"] = 100 + i;
dr["FUnitPrice"] = i;
dr["FSum"] = i;
dr["FUOM"] = i;
dr["FNote"] = "";
//后面还有字段没列出,需要12秒
}
m_BillInterface.RefreshGrid(2);
m_BillInterface.SetFireChangeVariable(true); //增加SetFireChangeVariable的调用
for (int i = 0; i < 1000; i++)
{
//结果集插入到表体中,先定义行变量
DataRow dr = m_BillInterface.Data.Tables["page2"].Rows.Add();
//给行字段赋值(注意,此字段是F7类型,后面的优化就是对此字段)
//只给产品内码赋值,EBOS平台会根据产品内码到数据库取物料编号、物料名称
dr["FProductID"] = 2012;
dr["FAmount"] = 100 + i;
dr["FUnitPrice"] = i;
dr["FSum"] = i;
dr["FUOM"] = i;
dr["FNote"] = "";
//后面还有字段没列出,需要130秒
}
m_BillInterface.RefreshGrid(2);
---------------以下是优化后的代码--------------------------------------
m_BillInterface.SetFireChangeVariable(false);//增加SetFireChangeVariable的调用
for (int i = 0; i < 1000; i++)
{
//结果集插入到表体中,先定义行变量
DataRow dr = m_BillInterface.Data.Tables["page2"].Rows.Add();
//给行字段赋值
//除了给产品内码赋值,还直接给物料编号、物料名称赋值
//前面的SetFireChangeVariable就是告诉EBOS平台,不用到数据库再取值了
dr["FProductID"] = 2012;
dr["FProductID_FNDName"] = i.ToString()+"DFSDFsd";
dr["FProductID_DSPName"] = i.ToString() + "DFSDFsd";
dr["FAmount"] = 100 + i;
dr["FUnitPrice"] = i;
dr["FSum"] = i;
dr["FUOM"] = i;
dr["FNote"] = "";
//后面还有字段没列出,需要12秒
}
m_BillInterface.RefreshGrid(2);
m_BillInterface.SetFireChangeVariable(true); //增加SetFireChangeVariable的调用