tnapolitano
asked on
add delete record checkbox to mxdatagrid
I'm stumped on how to add a "delete record" checkbox to a mxdatagrid. Any help is appreciated.
ASKER
So here's what I did:
<Fields>
<wmx:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:checkbox id="active" runat="server" checked='<%# DataBinder.Eval(Container, "DataItem.Delete") %>' />
</ItemTemplate>
</wmx:TemplateField>
<wmx:BoundField DataField="Role" HeaderText="Role"></wmx:Bo undField>
<wmx:BoundField DataField="Level" HeaderText="Level"></wmx:B oundField>
<wmx:BoundField DataField="Category" HeaderText="Category"></wm x:BoundFie ld>
<wmx:BoundField DataField="Material" HeaderText="Material"></wm x:BoundFie ld>
<wmx:BoundField DataField="Location" HeaderText="Location"></wm x:BoundFie ld>
<wmx:BoundField DataField="Section" HeaderText="Section"></wmx :BoundFiel d>
</Fields>
</wmx:MxDataGrid>
Which gave me a checkbox column in my mxdatagrid. However when I try to compile/launch the page, I get:
'System.Data.DataRowView' does not contain a property with the name Delete."
How do I link the Checkbox to my function "delRecord"
Function delRecord(ByVal uID As Integer) As Integer
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Deputization'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlC onnection( connection String)
Dim queryString As String = "DELETE FROM [dp_material] WHERE ([dp_material].[uID] = @uID)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlC ommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_uID As System.Data.IDataParameter = New System.Data.SqlClient.SqlP arameter
dbParam_uID.ParameterName = "@uID"
dbParam_uID.Value = uID
dbParam_uID.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(d bParam_uID )
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function
<Fields>
<wmx:TemplateField HeaderText="Delete">
<ItemTemplate>
<asp:checkbox id="active" runat="server" checked='<%# DataBinder.Eval(Container,
</ItemTemplate>
</wmx:TemplateField>
<wmx:BoundField DataField="Role" HeaderText="Role"></wmx:Bo
<wmx:BoundField DataField="Level" HeaderText="Level"></wmx:B
<wmx:BoundField DataField="Category" HeaderText="Category"></wm
<wmx:BoundField DataField="Material" HeaderText="Material"></wm
<wmx:BoundField DataField="Location" HeaderText="Location"></wm
<wmx:BoundField DataField="Section" HeaderText="Section"></wmx
</Fields>
</wmx:MxDataGrid>
Which gave me a checkbox column in my mxdatagrid. However when I try to compile/launch the page, I get:
'System.Data.DataRowView' does not contain a property with the name Delete."
How do I link the Checkbox to my function "delRecord"
Function delRecord(ByVal uID As Integer) As Integer
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Deputization'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlC
Dim queryString As String = "DELETE FROM [dp_material] WHERE ([dp_material].[uID] = @uID)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlC
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_uID As System.Data.IDataParameter
dbParam_uID.ParameterName = "@uID"
dbParam_uID.Value = uID
dbParam_uID.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(d
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I'll give the button a try and get back to you.
ASKER
Yeah, a linkbutton was the way to go. Thanks.
something like....
foreach (GridViewRow row in gridView1.Rows) {
CheckBox chk = (CheckBox)row.FindControl(
if (chk.Checked) {
//delete the record
}
}
hope this helps.
Steve