Hi
I have Gridview and DetailView both on one page.
I am showing the list in the Gridview and the particular record in DetailView.
the problem is When i EDIT on the DetailView and try to UPDATE it. It doesn't work.
I have setup 2 sqlDatasource for each Control. the Select Query for SqlDatasource which is bound to the DetailView has the control parameter which is bound to Griview.Selecte dValue Parameter.
here's my markup for the page.
<asp:GridView ID="GridView1" runat="server" AllowPaging="Tr ue" AllowSorting="T rue"
AutoGenerateCol umns="False" DataSourceID="S qlDataSource1">
<PagerSetting s FirstPageText=" First" LastPageText="L ast" Mode="NextPrevi ousFirstLast"
NextPageText="N ext" PreviousPageTex t="Prev" />
<Columns>
<asp:CommandFie ld ShowSelectButto n="True" />
<asp:BoundFie ld DataField="depn ame" HeaderText="Dep artment" SortExpression= "depname" />
</Columns>
</asp:GridView>
<asp:SqlDataSou rce ID="SqlDataSour ce1" runat="server" ConflictDetecti on="CompareAllV alues"
ConnectionStrin g="<%$ ConnectionStrin gs:LaborTrakCon nectionString %>" DeleteCommand=" DELETE FROM [tblAdministrati on] WHERE [depID] = @original_depID AND [depname] = @original_depna me"
InsertCommand=" INSERT INTO [tblAdministrati on] ([depname]) VALUES (@depname)"
OldValuesParame terFormatString ="original_{ 0}" SelectCommand=" SELECT * FROM [tblAdministrati on]"
UpdateCommand=" UPDATE [tblAdministrati on] SET [depname] = @depname WHERE [depID] = @original_depID AND [depname] = @original_depna me">
<DeleteParamete rs>
<asp:Paramete r Name="original_ depID" Type="Int64" />
<asp:Paramete r Name="original_ depname" Type="String" />
</DeleteParameter s>
<UpdateParamete rs>
<asp:Paramete r Name="depname" Type="String" />
<asp:Paramete r Name="original_ depID" Type="Int64" />
<asp:Paramete r Name="original_ depname" Type="String" />
</UpdateParameter s>
<InsertParamete rs>
<asp:Paramete r Name="depname" Type="String" />
</InsertParameter s>
</asp:SqlDataSour ce>
</td>
<td style="width: 3px; height: 20px">
<asp:Deta ilsView ID="DetailsView 1" runat="server" AutoGenerateRow s="False"
DataKeyNames="d epID" DataSourceID="S qlDataSource2" Height="50px" Width="125px">
<Fields>
<asp:BoundFie ld DataField="depI D" HeaderText="dep ID" InsertVisible=" False" ReadOnly="True"
SortExpression= "depID" />
<asp:BoundFie ld DataField="rcID " HeaderText="rcI D" SortExpression= "rcID" />
<asp:BoundFie ld DataField="dept name" HeaderText="dep tname" SortExpression= "deptname" />
<asp:CommandFie ld ShowEditButton= "True" ShowInsertButto n="True" />
</Fields>
</asp:DetailsView >
<asp:SqlDataSou rce ID="SqlDataSour ce2" runat="server" ConflictDetecti on="CompareAllV alues"
ConnectionStrin g="<%$ ConnectionStrin gs:LaborTrakCon nectionString %>" DeleteCommand=" DELETE FROM [tblDepartments] WHERE [depID] = @original_depID AND [rcID] = @original_rcID AND [deptname] = @original_deptn ame"
InsertCommand=" INSERT INTO [tblDepartments] ([rcID], [deptname]) VALUES (@rcID, @deptname)"
OldValuesParame terFormatString ="original_{ 0}" SelectCommand=" SELECT [depID], [rcID], [deptname] FROM [tblDepartments] WHERE ([depID] = @depID)"
UpdateCommand=" UPDATE [tblDepartments] SET [rcID] = @rcID, [deptname] = @deptname WHERE [depID] = @original_depID AND [rcID] = @original_rcID AND [deptname] = @original_deptn ame">
<DeleteParamete rs>
<asp:Paramete r Name="original_ depID" Type="Int64" />
<asp:Paramete r Name="original_ rcID" Type="String" />
<asp:Paramete r Name="original_ deptname" Type="String" />
</DeleteParameter s>
<UpdateParamete rs>
<asp:Paramete r Name="rcID" Type="String" />
<asp:Paramete r Name="deptname" Type="String" />
<asp:Paramete r Name="original_ depID" Type="Int64" />
<asp:Paramete r Name="original_ rcID" Type="String" />
<asp:Paramete r Name="original_ deptname" Type="String" />
</UpdateParameter s>
<SelectParamete rs>
<asp:ControlPar ameter ControlID="Grid View1" Name="depID" PropertyName="S electedValue"
Type="Int64" />
</SelectParameter s>
<InsertParamete rs>
<asp:Paramete r Name="rcID" Type="String" />
<asp:Paramete r Name="deptname" Type="String" />
</InsertParameter s>
</asp:SqlDataSour ce>
I don't know what's wrong.
When i try checking in with the ItemUpdating event of SqlDataSource for the DetailView the e.NewValues.Cou nt shows 2. but
e.NewValues.Ite m(1).ToString says it's "Nothing"!!
i don't know what's going wrong.
pls help
thanks
Deepak Palkar