Создадим новый проект (Визуальная веб-часть) и в UserControl.ascx.cs в метод
Page_Load(object sender, EventArgs e) добавим:
SPSite Site = SPContext.Current.Site;
SPList List = Site.AllWebs["nameSite"].Lists["nameList"];
SPQuery query = new SPQuery();
query.Query = "<Where>" +
"<Eq>" +
"<FieldRef Name=\"nameField\" />" +
"<Value Type=\"Text\">Text1</Value>" +
"</Eq>" +
"</Where>";
SPListItemCollection listColl = List.GetItems(query);
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Field1");
dataTable.Columns.Add("Field2");
foreach (SPListItem item in listColl)
{
DataRow dataRow = dataTable.NewRow();
dataRow["Field1"] = item["Field1"].ToString();
dataRow["Field2"] = item["Field2"].ToString();
dataTable.Rows.Add(dataRow);
}
DataView dataView = new DataView(dataTable);
dataTable = dataView.ToTable(true, "Field1", "Field2");
SPGridView gridView = new SPGridView();
gridView.ID = "idgridView";
gridView.AutoGenerateColumns = false;
BoundField field1 = new BoundField();
field1.HeaderText = "displayName1";
field1.DataField = "Field1";
gridView.Columns.Add(field1);
BoundField field2 = new BoundField();
field2.HeaderText = "displayName2";
field2.DataField = "Field2";
gridView.Columns.Add(field2);
this.Controls.Add(gridView);
base.CreateChildControls();
gridView.DataSource = dataTable;
gridView.DataBind();
На странице добавится веб-часть с SPGriedView и в нем 2 поля. С помощью Query отфильтруется по полю nameField = Text1;
Page_Load(object sender, EventArgs e) добавим:
SPSite Site = SPContext.Current.Site;
SPList List = Site.AllWebs["nameSite"].Lists["nameList"];
SPQuery query = new SPQuery();
query.Query = "<Where>" +
"<Eq>" +
"<FieldRef Name=\"nameField\" />" +
"<Value Type=\"Text\">Text1</Value>" +
"</Eq>" +
"</Where>";
SPListItemCollection listColl = List.GetItems(query);
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Field1");
dataTable.Columns.Add("Field2");
foreach (SPListItem item in listColl)
{
DataRow dataRow = dataTable.NewRow();
dataRow["Field1"] = item["Field1"].ToString();
dataRow["Field2"] = item["Field2"].ToString();
dataTable.Rows.Add(dataRow);
}
DataView dataView = new DataView(dataTable);
dataTable = dataView.ToTable(true, "Field1", "Field2");
SPGridView gridView = new SPGridView();
gridView.ID = "idgridView";
gridView.AutoGenerateColumns = false;
BoundField field1 = new BoundField();
field1.HeaderText = "displayName1";
field1.DataField = "Field1";
gridView.Columns.Add(field1);
BoundField field2 = new BoundField();
field2.HeaderText = "displayName2";
field2.DataField = "Field2";
gridView.Columns.Add(field2);
this.Controls.Add(gridView);
base.CreateChildControls();
gridView.DataSource = dataTable;
gridView.DataBind();
На странице добавится веб-часть с SPGriedView и в нем 2 поля. С помощью Query отфильтруется по полю nameField = Text1;
Вот, так гораздо лучше ;)
ОтветитьУдалитьСпасибо.
ОтветитьУдалить