AccessDataSource: Master- Detail
VS 2005: I use the wizard to display Gridview/DetailsView... when I updated one of the field record in the DetailsView grid and submited the update, the rest of the fields of that record gone (blank) except one field left which is the primary key. My update is not working...what am i missing? Please help and thank in advance. Here's the code:
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="Object_Phyiscal_Name"
DataSourceID="AccessDataSource1" CellPadding="0" ForeColor="#333333" GridLines="None" AllowPaging="True" AllowSorting="True">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="Object_Phyiscal_Name" HeaderText="Object_Phyiscal_Name"
ReadOnly="True" SortExpression="Object_Phyiscal_Name" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Object_Type_Code" HeaderText="Object_Type_Code" SortExpression="Object_Type_Code" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Object_Coder" HeaderText="Object_Coder" SortExpression="Object_Coder" >
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Object_Level_of_Effort" HeaderText="Level_of_Effort"
SortExpression="Object_Level_of_Effort" >
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#E3EAEB" />
<EditRowStyle BackColor="#7C6F57" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="C:\Data\Object_Lib.mdb"
DataSourceMode="DataSet"
SelectCommand="SELECT [Object Phyiscal Name] AS Object_Phyiscal_Name, [Object Type Code] AS Object_Type_Code, [Object Coder] AS Object_Coder, [Object Level of Effort] AS Object_Level_of_Effort FROM [Object Inventory]">
</asp:AccessDataSource>
</td>
</tr>
</table>
<br />
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td> </td>
</tr>
<tr>
<td align="center">
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="Object Phyiscal Name"
DataSourceID="AccessDataSource2"
OnItemUpdated="DetailsView1_ItemUpdated" OnItemDeleted="DetailsView1_ItemDeleted" Height="50px" CellPadding="0">
<Fields>
<asp:BoundField DataField="Object Phyiscal Name" HeaderText="Object Phyiscal Name"
ReadOnly="True" SortExpression="Object Phyiscal Name" />
<asp:BoundField DataField="Object Desc" HeaderText="Object Desc" SortExpression="Object Desc" />
<asp:BoundField DataField="Object Type Code" HeaderText="Object Type Code" SortExpression="Object Type Code" />
<asp:BoundField DataField="Object Level of Effort" HeaderText="Object Level of Effort"
SortExpression="Object Level of Effort" />
<asp:BoundField DataField="Object Status" HeaderText="Object Status" SortExpression="Object Status" />
<asp:BoundField DataField="Spec Assign to" HeaderText="Spec Assign to" SortExpression="Spec Assign to" />
<asp:BoundField DataField="Spec Reviewer" HeaderText="Spec Reviewer" SortExpression="Spec Reviewer" />
<asp:BoundField DataField="Object Coder" HeaderText="Object Coder" SortExpression="Object Coder" />
<asp:BoundField DataField="Actual for Code" HeaderText="Actual for Code" SortExpression="Actual for Code" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Fields>
</asp:DetailsView>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataSourceMode="DataSet" DataFile="C:\Data\Object_Lib.mdb"
SelectCommand="SELECT * FROM [Object Inventory] WHERE ([Object Phyiscal Name] = ?)"
DeleteCommand="DELETE FROM [Object Inventory] WHERE [Object Phyiscal Name] = ?"
InsertCommand="INSERT INTO [Object Inventory] ([Object Phyiscal Name], [Object Desc], [Object Type Code], [Object Level of Effort], [Object Status], [Spec Assign to], [Spec Reviewer], [Object Coder], [Actual for Code]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
UpdateCommand="UPDATE [Object Inventory] SET [Object Desc] = ?, [Object Type Code] = ?, [Object Level of Effort] = ?, [Object Status] = ?, [Spec Assign to] = ?, [Spec Reviewer] = ?, [Object Coder] = ?, [Actual for Code] = ? WHERE [Object Phyiscal Name] = ?">
<DeleteParameters>
<asp:ControlParameter ControlID="GridView1" Name="Object_Phyiscal_Name" PropertyName="SelectedValue"
Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Object_Phyiscal_Name" Type="String" />
<asp:Parameter Name="Object_Desc" Type="String" />
<asp:Parameter Name="Object_Type_Code" Type="String" />
<asp:Parameter Name="Object_Level_of_Effort" Type="String" />
<asp:Parameter Name="Object_Status" Type="String" />
<asp:Parameter Name="Spec_Assign_to" Type="String" />
<asp:Parameter Name="Spec_Reviewer" Type="String" />
<asp:Parameter Name="Object_Coder" Type="String" />
<asp:Parameter Name="Actual_for_Code" Type="Int16" />
</InsertParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="Object_Desc" PropertyName="SelectedValue"
Type="String" />
<asp:Parameter Name="Object_Type_Code" Type="String" />
<asp:Parameter Name="Object_Level_of_Effort" Type="String" />
<asp:Parameter Name="Object_Status" Type="String" />
<asp:Parameter Name="Spec_Assign_to" Type="String" />
<asp:Parameter Name="Spec_Reviewer" Type="String" />
<asp:Parameter Name="Object_Coder" Type="String" />
<asp:Parameter Name="Actual_for_Code" Type="Int16" />
<asp:Parameter Name="Object_Phyiscal_Name" Type="String" />
</UpdateParameters>
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="Object_Phyiscal_Name" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:AccessDataSource>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Public Partial Class ObjInvList
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub DetailsView1_ItemDeleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewDeletedEventA rgs) Handles DetailsView1.ItemDeleted
GridView1.DataBind()
End Sub
Protected Sub DetailsView1_ItemUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewUpdatedEventA rgs) Handles DetailsView1.ItemUpdated
GridView1.DataBind()
DetailsView1.DataBind()
End Sub
Protected Sub GridView1_PageIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.PageIndexChanged
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
End Sub
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
End Sub
Protected Sub GridView1_Sorted(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.Sorted
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)
End Sub
Private Sub AccessDataSource2_Updated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEvent Args) Handles AccessDataSource2.Updated
DetailsView1.DataBind()
End Sub
|