首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gridview中显示所有BP信息

在Gridview中显示所有BP信息
EN

Stack Overflow用户
提问于 2014-03-14 15:47:16
回答 1查看 2K关注 0票数 0

第一次与SAP B1。

我设法连接到SAP B1数据库使用C#和SAP版本9.00,并显示一个BP信息。

我想做的是显示所有的BPs或一个BP信息。在GridView中。

这是我要连接的代码,它工作得很完美:

代码语言:javascript
复制
SAPbobsCOM.Company vCmp = new SAPbobsCOM.Company();
int lRetCode, lErrCode;
string sErrMsg;
vCmp.Server = "SAPR01";
vCmp.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;
vCmp.CompanyDB = "company";
vCmp.UserName = "user";
vCmp.Password = "*****";
vCmp.language = SAPbobsCOM.BoSuppLangs.ln_English;
lRetCode = vCmp.Connect();

if (lRetCode == 0)
{
    label1.Text = "Hello World!";
}
else
{ 
    label1.Text = "Connection Failed!"; 
}

lErrCode = vCmp.GetLastErrorCode(); sErrMsg = vCmp.GetLastErrorDescription();
vCmp.GetLastError(out lErrCode, out sErrMsg);  

这是我用标签显示BP名称的代码:

代码语言:javascript
复制
SAPbobsCOM.BusinessPartners BP;
BP = vCmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners);
string  cardName;

if (BP.GetByKey("C70000"))
{
    cardName = BP.CardName;
    label1.Text = cardName;
}

我无法弄清楚的是在Gridview中显示所有BPs/一个BP信息。换句话说,如何绑定到Gridview?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 19:55:21

经过几个小时的搜索和大量的代码尝试,我设法显示了BP的信息。使用此代码:

代码语言:javascript
复制
SAPbobsCOM.SBObob obj = vCmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge);
        SAPbobsCOM.Recordset rs = vCmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
        rs = obj.GetBPList(SAPbobsCOM.BoCardTypes.cCustomer);
        rs.MoveFirst();

        int count = rs.RecordCount;
        grdBP.Rows.Clear();
        if (count > 0)
        {
            grdBP.Columns.Add("cardCode", "BP Code");
            grdBP.Columns.Add("cardName", "BP Name");
            grdBP.Columns.Add("cardType", "BP Type");
            grdBP.Rows.Add(count);
            int gridCounter = 0;
            while (!rs.EoF)
            {
                DataGridViewRow row = grdBP.Rows[gridCounter];
                row.Cells[0].Value = rs.Fields.Item("cardCode").Value;
                row.Cells[1].Value = rs.Fields.Item("cardName").Value;
                row.Cells[2].Value = rs.Fields.Item("cardType").Value;
                gridCounter++;
                rs.MoveNext();
            }
        }

为了能够使用Recordset,我必须手动创建列和行

我使用了C#窗口表单。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22409758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档