2

SharePoint サイトに「Empdetails」という名前のリストがあり、列 (EmpName 文字列、Empaddress 文字列) があります。

編集、削除、更新機能を使用して、リスト データを SpGridview にバインドする必要があります。

リスト データをグリッドビューに正常にバインドできますが、編集、削除、更新機能をグリッドビューに提供できません。

コード:

private void binddata()
{
    SPWeb mySite = SPContext.Current.Web;
    SPList myList = mySite.Lists["Empdetails"];
    SPListItemCollection items = myList.Items;

    //Here we will make a datatable and we will put our list data to the data table
    DataTable table=new DataTable();
    table.Columns.Add("EmpName", typeof(string));
     table.Columns.Add("Empaddress", typeof(string));    

    // Create rows for each splistitem
    DataRow row;
    foreach (SPListItem result in items)
    {
        row = table.Rows.Add();
        row["EmpName"] = result["EmpName"].ToString();
        row["Empaddress"] = result["Empaddress"].ToString();

    }
    //binding data to gridview
    GridView1.DataSource = table.DefaultView;
    GridView1.DataBind();
}
4

2 に答える 2

0

更新と削除のためにすべてのコードを書く必要があります。自動的には提供されません。

個人的には、自分で作成するのではなく、データセットビューを指すすぐに使用できるリストビューWebパーツを使用することをお勧めします。

ただし、カスタムコードを作成する必要がある場合は、上記のコードを次のように簡略化できる可能性があります。

DataTable table = new DataTable();
table.Columns.Add("EmpName", typeof(string));
table.Columns.Add("Empaddress", typeof(string));    
DataRow row;
foreach (SPListItem result in items)
{
    row = table.Rows.Add();
    row["EmpName"] = result["EmpName"].ToString();
    row["Empaddress"] = result["Empaddress"].ToString();
}

これに:

DataTable table = items.GetDataTable();
于 2012-10-30T16:05:17.750 に答える