从datgridview和数据库访问中删除行 [英] Delete rows from datgridview and database access
问题描述
嗨
我正在使用c#开发一个桌面应用程序.我想知道如何使用databse Ms-Access和Datagridview中的复选框删除datagridview中的多行.
在Advance中致谢
Hi
I am developing a desktop application using c#.I want to know how i can delete multiple rows in datagridview using checkbox from databse Ms-Access and Datagridview.
Thanks in Advance
推荐答案
尝试以下操作:
这就是获取datasource
:
的方法
Try this:
This is how you can getdatasource
:
<asp:SqlDataSource ID="SqlDataSource1" Runat="server"
SelectCommand="SELECT EmployeeID, LastName, City FROM Employees"
DeleteCommand="DELETE FROM Employees WHERE [EmployeeID] = @EmployeeID"
ConnectionString="<%
ConnectionStrings:NorthwindConnectionString %> " > < DeleteParameters > < asp:Parameter 名称 =" / < /DeleteParameters > < /asp:SqlDataSource >
ConnectionStrings:NorthwindConnectionString %>" > <DeleteParameters> <asp:Parameter Name="EmployeeID" /> </DeleteParameters> </asp:SqlDataSource>
这是Grid
中CheckBox
的模板字段:
This is template field for CheckBox
in Grid
:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkRows" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
这将在Grid
中添加checkBox
:
This will add checkBox
in Grid
:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="EmployeeID" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbRows" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" InsertVisible="False" ReadOnly="True" SortExpression="EmployeeID" />
<asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" Runat="server"
SelectCommand="SELECT EmployeeID, LastName, City FROM Employees"
DeleteCommand="DELETE FROM Employees WHERE [EmployeeID] = @EmployeeID"
ConnectionString="<%
ConnectionStrings:NorthwindConnectionString %> " > < DeleteParameters > < asp:Parameter 名称 =" / < /DeleteParameters > < /asp:SqlDataSource > < asp:Button ID =" =" btnMultipleRowDelete_Click" runat =" 文本 删除行" / >
ConnectionStrings:NorthwindConnectionString %>" > <DeleteParameters> <asp:Parameter Name="EmployeeID" /> </DeleteParameters> </asp:SqlDataSource> <asp:Button ID="btnMultipleRowDelete" OnClick="btnMultipleRowDelete_Click" runat="server" Text="Delete Rows" />
从Grid
:
删除多条记录的代码
Code for deletion of multiple records from Grid
:
protected void btnMultipleRowDelete_Click(object sender, EventArgs e)
{
// Looping through all the rows in the GridView
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox checkbox = (CheckBox)row.FindControl("cbRows");
//Check if the checkbox is checked.
//value in the HtmlInputCheckBox's Value property is set as the
//value of the delete command's parameter.
if (checkbox.Checked)
{
// Retreive the Employee ID
int employeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
// Pass the value of the selected Employye ID to the Delete //command.
SqlDataSource1.DeleteParameters["EmployeeID"].DefaultValue = employeeID.ToString();
SqlDataSource1.Delete();
}
}
}
希望对您有所帮助.
另请参阅一些相关链接:
删除多行记录Gridview复选框确认 [通过分页在DataGridView中添加,编辑和删除 [ ^ ]
类似的讨论:
删除DataGridView中所有选定的行 [ ^ ]
如何删除DataGridView中的多行 [ ^ ]
删除datagridview中的多行 [删除datagridview和访问表中的多行 [ ^ ]
Hope it helps.
Also refer some related links:
Delete Multiple Rows Records Gridview CheckBox Confirmation[^]
Add, Edit, and Delete in DataGridView with Paging[^]
Similar discussion:
delete all selected rows in DataGridView [^]
How to delete multiple rows in a DataGridView[^]
delete multiple rows in datagridview[^]
This one exact matching your requirement:
delete multiple rows in datagridview and access table[^]
这篇关于从datgridview和数据库访问中删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!