How can I perform bulk delete operation on a webgrid? I am missing the part where all the checked row will be requested and dynamically add the id to the sql query. Here is the screenshot:
The code I have now:
var db = Database.Open("MySQLDB");
var query = "SELECT * FROM sample";
var data = db.Query(query);
var grid = new WebGrid(source:data, defaultSort:"date_sent", rowsPerPage:10, ajaxUpdateContainerId:"grid");
if(IsPost){
@*get the selected message ids to be deleted here..*@
var delFromSample = "DELETE FROM sample WHERE IN (the selected message ids here..)";
db.Execute(delFromSample, Request["messageId"]);
}
}
<div>
<form method="post" action="">
<input type="submit" value="Delete"/>
</form>
</div>
<div>
@grid.GetHtml(
tableStyle:"grid",
headerStyle:"head",
alternatingRowStyle:"alt",
columns: grid.Columns(
grid.Column("id", "Id", style:"tdId"),
grid.Column("subject", "Subject", style: "tdStyle"),
grid.Column("sender", "From", style: "tdStyle"),
grid.Column("date_sent", "Date", style:"tdStyle"),
grid.Column(header:"", format:@<input type="checkbox" name="messageId" value="@item.id"/>)
)
)
</div>
freakysquash
Member
228 Points
155 Posts
Bulk Delete for Webgrid using Checkbox
Feb 18, 2012 06:38 PM|LINK
How can I perform bulk delete operation on a webgrid? I am missing the part where all the checked row will be requested and dynamically add the id to the sql query. Here is the screenshot:
The code I have now:
var db = Database.Open("MySQLDB"); var query = "SELECT * FROM sample"; var data = db.Query(query); var grid = new WebGrid(source:data, defaultSort:"date_sent", rowsPerPage:10, ajaxUpdateContainerId:"grid"); if(IsPost){ @*get the selected message ids to be deleted here..*@ var delFromSample = "DELETE FROM sample WHERE IN (the selected message ids here..)"; db.Execute(delFromSample, Request["messageId"]); } } <div> <form method="post" action=""> <input type="submit" value="Delete"/> </form> </div> <div> @grid.GetHtml( tableStyle:"grid", headerStyle:"head", alternatingRowStyle:"alt", columns: grid.Columns( grid.Column("id", "Id", style:"tdId"), grid.Column("subject", "Subject", style: "tdStyle"), grid.Column("sender", "From", style: "tdStyle"), grid.Column("date_sent", "Date", style:"tdStyle"), grid.Column(header:"", format:@<input type="checkbox" name="messageId" value="@item.id"/>) ) ) </div>batch WebGrid checkbox bulk delete