webpart get bdc info
Code
Code
protected override void RenderContents(HtmlTextWriter writer)
{
LobSystem nwSystem = ApplicationRegistry.GetLobSystems()["UCDSB_BDCLOBSystem"];
LobSystemInstance nwSystemInstance = nwSystem.GetLobSystemInstances()["UCDSB_BDCInstance"];
Entity customerEntity = nwSystemInstance.GetEntities()["SchoolContactInformation_Entity"];
//FilterCollection filterColl = customerEntity.GetFinderFilters();
MethodInstance filterColl = customerEntity.GetSpecificFinderMethodInstance();
Object[] args = filterColl.GetMethod().CreateDefaultParameterInstances(filterColl);
//IEntityInstanceEnumerator customerEnum = customerEntity.FindFiltered(filterColl, nwSystemInstance);
args[0] = int.Parse(Page.Request.QueryString["id"].ToString());
IEntityInstanceEnumerator prodEntityInstanceEnumerator = (IEntityInstanceEnumerator)customerEntity.Execute(filterColl, nwSystemInstance, ref args);
while (prodEntityInstanceEnumerator.MoveNext())
{
DataTable dt = (prodEntityInstanceEnumerator.Current as DbEntityInstance).EntityAsDataTable;
PrintDataRow(dt.Rows[0], writer);
}
}
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.Data;
using Microsoft.Office.Server.ApplicationRegistry.MetadataModel;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using Microsoft.Office.Server.ApplicationRegistry.Runtime;
using Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db;
namespace ConceptInc.SchoolBundle.SchoolContactInfo
{
[Guid("87895c38-211f-42b3-9915-3c8e2eb55e57")]
public class SchoolContactInformation : System.Web.UI.WebControls.WebParts.WebPart
{
public SchoolContactInformation()
{
}
protected override void CreateChildControls()
{
base.CreateChildControls();
// TODO: add custom rendering code here.
// Label label = new Label();
// label.Text = "Hello World";
// this.Controls.Add(label);
}
protected override void RenderContents(HtmlTextWriter writer)
{
//string ssp = "SharedServices2";
//SqlSessionProvider.Instance().SetSharedResourceProviderToUse(ssp);
//NamedLobSystemDictionary lobSystems = ApplicationRegistry.GetLobSystems();
LobSystem nwSystem = ApplicationRegistry.GetLobSystems()["UCDSB_BDCLOBSystem"];
//foreach (LobSystem system in lobSystems.Values)
//{
//writer.WriteLine("Application: " + system.Name);
//NamedLobSystemInstanceDictionary instances = nwSystem.GetLobSystemInstances();
LobSystemInstance nwSystemInstance = nwSystem.GetLobSystemInstances()["UCDSB_BDCInstance"];
//foreach (LobSystemInstance instance in instances.Values)
//{
//writer.WriteLine(instance.Name);
Entity customerEntity = nwSystemInstance.GetEntities()["SchoolContactInformation_Entity"];
FilterCollection filterColl = customerEntity.GetFinderFilters();
//(filterColl[0] as WildcardFilter).Value = "London";
IEntityInstanceEnumerator customerEnum = customerEntity.FindFiltered(filterColl, nwSystemInstance);
while (customerEnum.MoveNext())
{
DataTable dt = (customerEnum.Current as DbEntityInstance).EntityAsDataTable;
PrintDataRow(dt.Rows[0], writer);
}
//}
//}
}
private static void PrintDataRow(DataRow dr, HtmlTextWriter writer)
{
foreach (DataColumn dataColumn in dr.Table.Columns)
{
writer.Write(dr[dataColumn] + "\t");
}
writer.WriteLine();
}
}
}

浙公网安备 33010602011771号