将List <listitem>转换为c#</listitem>中的datatable

时间:2013-12-03 12:26:07

标签: c# sharepoint

在我的应用程序中,我需要从2个SharePoint列表(ListA和ListB)中获取项目作为listitem集合,然后如果ListB中的项目匹配,我需要显示ListA中的项目(ListA.empid == ListB.empid )。

var iPs = AListItem.AsEnumerable()
                   .Select(r => r.FieldValues["EmpID"])
                   .Union(BListItem.AsEnumerable()
                                   .Select(r => r.FieldValues["EmpID"]));

if (iPs.Count() > 0)
{
    List<ListItem> sample = (from row in AListItem.AsEnumerable()
                             join id in iPs
                             on row.FieldValues["EmpID"] equals id
                             select row).ToList();
}

但我需要结果数据表才能绑定到转发器控件。如何将List<ListItem>转换为数据表?

2 个答案:

答案 0 :(得分:1)

正如我的评论中所述,使用sample作为Repeater控件的数据源。

此SO链接提供了有关如何实现此目的的详细信息:

binding-a-generic-list-to-a-repeater-asp-net

概述如下:

// Here's your object that you'll create a list of
private class Products
{
    public string ProductName { get; set; }
    public string ProductDescription { get; set; }
    public string ProductPrice { get; set; }
}

// Here you pass in the List of Products
private void BindItemsInCart(List<Products> ListOfSelectedProducts)
{   
    // The the LIST as the DataSource
    this.rptItemsInCart.DataSource = ListOfSelectedProducts;

    // Then bind the repeater
    // The public properties become the columns of your repeater
    this.rptItemsInCart.DataBind();
}

ASPX代码:

<asp:Repeater ID="rptItemsInCart" runat="server">
  <HeaderTemplate>
    <table>
      <thead>
        <tr>
            <th>Product Name</th>
            <th>Product Description</th>
            <th>Product Price</th>
        </tr>
      </thead>
      <tbody>
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
      <td><%# Eval("ProductName") %></td>
      <td><%# Eval("ProductDescription")%></td>
      <td><%# Eval("ProductPrice")%></td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </tbody>
    </table>
  </FooterTemplate>
</asp:Repeater>

答案 1 :(得分:0)

我同意Ric:也许绑定List更好。

但是如果你真的需要转换为数据表,请检查以下链接:

How to convert a List into DataTable

http://www.c-sharpcorner.com/UploadFile/1a81c5/list-to-datatable-converter-using-C-Sharp/