Solved

gridview select to open dependent formviews

Posted on 2009-05-18
4
589 Views
Last Modified: 2013-12-17
I've to a page that loads a gridview with a select option per row. The row has ids that are related to mulitple tables. i want to select the row and populate multiple formviews.

I've got it to work with the 1st formview but the 2nd won't load,i can run my query and it pulls back data.

Gridview1
rowid
picid
sicid
reqid

formview1 is based on the picid and it works
formview2 is based on the sicid and it will not load. This is basically the same as picid just a different table and data.
 
Any suggestions?

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            CellPadding="4" DataKeyNames="ReqId" DataSourceID="SqlDataSource1" 
            ForeColor="#333333" GridLines="None" AllowPaging="True" 
            AllowSorting="True" 
            OnSelectedIndexChanged="GridView1_SelectedIndexChanged" 
            onpageindexchanged="GridView1_PageIndexChanged" >
            <RowStyle BackColor="#EFF3FB" />
            <Columns>
                <asp:CommandField ShowSelectButton="True" />
                    <asp:BoundField DataField="picId" HeaderText="Pic Id" 
                    Visible="true" />
                    <asp:BoundField DataField="sicid" HeaderText="Sic Id" 
                    SortExpression="sicid" Visible="true" />
                <asp:BoundField DataField="ServiceDate" HeaderText="Service Date" 
                    SortExpression="ServiceDate" />
                 <asp:BoundField DataField="Priority" HeaderText="Priority" 
                    SortExpression="Priority" />
                <asp:BoundField DataField="ReqId" HeaderText="ReqId" 
                    InsertVisible="False" ReadOnly="True" SortExpression="ReqId" Visible="false" />
            </Columns>
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT [ReqId], [picid], [sicid], [ServiceDate], [Priority]  FROM [ReqInformation] WHERE ([UserId] = @UserId)">
            <SelectParameters>
                <asp:ProfileParameter Name="UserId" PropertyName="SelectedCustomerId" Type="String" />
            </SelectParameters>
        </asp:SqlDataSource>
 
        <asp:FormView ID="FormView1" runat="server" 
            DataKeyNames="picid" DataSourceID="SqlDataSource2"
            Width="75%" BorderColor="#99CCFF" BorderStyle="None" >
            <ItemTemplate>
 <table cellpadding="0" cellspacing="0" class="style1" style="background-color:#EFF3FB;border-color:#B5C7DE;border-width:1px;border-style:Solid;border-collapse:collapse;">
            <tr>
            <td align="center" style="color:White;background-color:#507CD1;font-size:0.9em;font-weight:bold;">
            Patient</td>
            </tr>
            <tr>
                <td >
                 <asp:Label ID="picidLabel" runat="server" Text='<%# Eval("picid") %>' Visible="true" />
                <asp:Label ID="patFNameLabel" runat="server" Text='<%# Bind("patFName") %>' /> <asp:Label ID="patLNameLabel" runat="server" Text='<%# Bind("patLName") %>' />
	 </td>
              </tr>
</table>
            </ItemTemplate>
        </asp:FormView>
        <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * from picinformation WHERE ([picid] = @picid)"> 
            <SelectParameters>
                <asp:ControlParameter ControlID="GridView1" Name="picid" 
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
 
        <asp:FormView ID="FormView2" runat="server" 
        DataKeyNames="sicid" DataSourceID="SqlDataSource3"
        Width="75%" BorderColor="#99CCFF" BorderStyle="None" >
            <ItemTemplate>
                sicid:
                <asp:Label ID="sicidLabel" runat="server" Text='<%# Eval("sicid") %>' />
                <br />
                sicFName:
                <asp:Label ID="sicFNameLabel" runat="server" Text='<%# Bind("sicFName") %>' />
                <br />
                sicLName:
                <asp:Label ID="sicLNameLabel" runat="server" Text='<%# Bind("sicLName") %>' />
            </ItemTemplate>
        </asp:FormView>
        <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * FROM [sicInformation] WHERE ([sicid] = @sicid)">
            <SelectParameters>
                <asp:ControlParameter ControlID="GridView1" Name="sicid" 
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>

Open in new window

0
Comment
Question by:fwstealer
  • 2
  • 2
4 Comments
 
LVL 12

Expert Comment

by:williamcampbell
ID: 24417118
[sicInformation]

You have braces [  ] around this did you mean that?

0
 

Accepted Solution

by:
fwstealer earned 0 total points
ID: 24422945
i figured it out - used a left outer join -duh
0
 
LVL 12

Expert Comment

by:williamcampbell
ID: 24472598
Can you clarify your answer?
0
 

Author Comment

by:fwstealer
ID: 24475644
i had to change the sql to allow for a left outer join and that worked perfectly.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question