Удаление записи из Gridview с ObjectDataSource - PullRequest
2 голосов
/ 12 июля 2011

У меня есть gridview, который связывает его строки из метода объектов:

public DataSet GetObjects () {DataSet ds = new DataSet ();DataTable dt = new DataTable ();var source = из p в CommentsList выберите новый {p.CommentID, p.Img, p.Name, p.Comment};

dt.Columns.Add("CommentsID");
dt.Columns.Add("Img");
dt.Columns.Add("Name");
dt.Columns.Add("Comment");

foreach (var item in source)
{



    DataRow userDetailsRow=dt.NewRow();
    userDetailsRow["Img"] = item.Img;
    userDetailsRow["Name"] = item.Name;

    DataRow commentsID = dt.NewRow();
    userDetailsRow["CommentsID"] = item.CommentID;

    DataRow comments = dt.NewRow();
    userDetailsRow["Comment"] = item.Comment;
    dt.Rows.Add(userDetailsRow);
    //dt.Rows.Add(comments);
}
ds.Tables.Add(dt);
return ds;

} Мой метод удаления.Должен получить commentsID, чтобы удалить его из базы данных, а затем заново связать Gridview. Но как?я передаю CommentsID из gridview этому методуЯ делаю это?Я знаю, что существуют DataKeyNames ... но как мне установить commentsID в качестве dataKeyNames и как удалить запись?

1 Ответ

3 голосов
/ 12 июля 2011

Вы можете указать Delete method для objectDataSource, и это будет очень просто ... например,

 <asp:ObjectDataSource ID="ods" runat="server" DeleteMethod="RemoveComment" SelectMethod="GetCityByStateID" TypeName="">
        <DeleteParameters>
            <asp:Parameter Name="CommentsID" Type="Int32" />
         </DeleteParameters>
          <SelectParameters>
          </SelectParameters>
  </asp:ObjectDataSource>

При каждом нажатии кнопки Gridview Delete этот метод автоматически запускается и удаляется запись.

...