我查看了网络并找到了很多答案,但没有一个可以帮助我解决这个问题!
我在数据项目中有一个方法。然后我有一个带有显示元素的项目。
代码隐藏:
public static DataTable GetAllobjs(SPWeb objWeb)
{
DataTable tmpData = new DataTable();
try
{
allProjects.Columns.Add(ColumnNames.1);
allProjects.Columns.Add(ColumnNames.2);
allProjects.Columns.Add(ColumnNames.3);
allProjects.Columns.Add(ColumnNames.4);
allProjects.Columns.Add(ColumnNames.5);
allProjects.Columns.Add(ColumnNames.6);
allProjects.Columns.Add(ColumnNames.7);
allProjects.Columns.Add(ColumnNames.8);
allProjects.Columns.Add(ColumnNames.9);
//Get the raw project data
List<obj> data= DataAquisition.GetAllobj(objWeb);
/// Loop through the raw data.
foreach (obj currentInformation in data)
{
// Creates a new data row containing information required and adds it to the DATAtable
}
}
catch (Exception exc)
{
// Logs errors here
}
return tmpData;
}
在用户控件的后面(cs)页面中,我有一个调用 GetAllobjs(SPWeb objWeb)的方法
[DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
public DataTable GetAllUsers()
{
return Data.GetAllobjs(SPContext.Current.Web);
}
然后页面加载:
ObjectDataSource d = new ObjectDataSource();
d.ID = "s";
d.SelectMethod = "GetAllUsers";
d.TypeName = SPGridView.GetType().AssemblyQualifiedName;
this.Controls.Add(d);
/// Apply a data source to the SPGrid View
SPGridView.DataSourceID = d.ID;
然后在创建子控件上创建我的字段并将其绑定到 SPGridview 并调用数据绑定。
我认为这会起作用,但我得到了错误。我不确定我是否在某个地方遗漏了一些组件模型 [] 标签,我希望有人能指出我哪里出错了。