Modal Popup Extender Dilema

J

jonefer

I'd like to be able to take a gridview that has linked buttons to get
descrete values that notify my popup panel to use as a parameter for an
ObjectDataSource.

I know there's a way, but it's not straightforward.

Here's my asp update panel which contains a gridview and some linked buttons.
The user will click the button on any row to see the detailed records of the
number they click on. (my popup panel) AJAX's modalPopupExtender

Specifically, for example the user will click one of the values from 'Breast
Cancer Screening' which is a value in the first column, and I hope to filter
the Panel for Breast Cancer and they would see the list of patients that
haven't been screened for Breast Cancer.

Also, there are 2 columns, which means that it should either bring up a 2nd
pop-up to view Missed Opportunities. Or change the ObjectDataSource
completely for the panel.

Anyhow... with just 1 trigger (gridview) how do I get all these discrete
actions to happen?

This would help me tremendously, as my only solution thus far, is to forget
about the gridview and create a table with discrete labels in it (link
buttons) at which I will need to create 14 popup panels and modalpopup
extenders.

<asp:UpdatePanel ID="upQuality" runat="server" RenderMode="Inline"
ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<table cellpadding="2" style="width: 534px; height: 136px;">
<tr>
<td style="width: 111px;">
<asp:SqlDataSource ID="sdsQuality"
runat="server" ConnectionString="<%$ ConnectionStrings:IMS_cn %>"
SelectCommand="SELECT DISTINCT
PPU.vPPUBase.MeasureChartTitle AS Measure, SUM(PPU.vPPUBase.MeasureMissed) AS
[Missed Opp], SUM(PPU.vPPUBase.MeasureDen - PPU.vPPUBase.MeasureNum) AS
[Total Left], AVG(PPU.vPPUBase.MeasureNum / PPU.vPPUBase.MeasureDen) AS [%
Compl], MAX(PPU.vPPUBase.MeasureTarget) AS [Regional Target],
PPU.tbl_Measure_Def.DisplayOrder, MAX(PPU.vPPUBase.YYYYMM) AS YYYYMM,
AVG(PPU.vSpecSum.SA_Num / PPU.vSpecSum.SA_Den) AS [Spec Avg],
PPU.vPPUBase.MeasureID FROM PPU.vPPUBase INNER JOIN PPU.tbl_Measure_Def ON
PPU.vPPUBase.MeasureID = PPU.tbl_Measure_Def.MeasureID INNER JOIN
PPU.vSpecSum ON PPU.tbl_Measure_Def.MeasureID = PPU.vSpecSum.MeasureID WHERE
(PPU.vPPUBase.MeasureID IN (N'MAMMO', N'DM_LDL', N'CVD_LDL', N'COLO', N'PAP',
N'HTN_BP', N'PcntCGClsd')) AND (PPU.vPPUBase.ProvID = @ProvID) GROUP BY
PPU.vPPUBase.MeasureChartTitle, PPU.tbl_Measure_Def.DisplayOrder,
PPU.vPPUBase.MeasureID ORDER BY PPU.tbl_Measure_Def.DisplayOrder">
<SelectParameters>
<asp:ControlParameter ControlID="cmbPCP"
Name="ProvID" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>

<asp:GridView ID="GridView3" runat="server"
AutoGenerateColumns="False" DataSourceID="sdsQuality" Style="font-size:
x-small; color: black; font-family: 'Century Gothic'"
Width="470px" BorderStyle="Solid"
GridLines="Horizontal">
<Columns>
<asp:BoundField DataField="Measure"
HeaderText="Measure" SortExpression="Measure">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:ButtonField DataTextField="Missed
Opp" HeaderText="Missed Opp" SortExpression="Missed Opp" >
<HeaderStyle
HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:ButtonField>
<asp:ButtonField DataTextField="Total
Left" HeaderText="Total Left" SortExpression="MeasureID"
Text="Button" >
<HeaderStyle
HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:ButtonField>
<asp:BoundField DataField="% Compl"
DataFormatString="{0:#%}" HeaderText="% Compl"
SortExpression="% Compl"
HtmlEncode="False">
<HeaderStyle
HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="Spec Avg"
SortExpression="Spec Avg">
<EditItemTemplate>
<asp:TextBox ID="TextBox1"
runat="server" Text='<%# Bind("[Spec Avg]") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1"
runat="server" Text='<%# Bind("[Spec Avg]", "{0:#%}") %>'
Width="56px"></asp:Label>
</ItemTemplate>
<HeaderStyle
HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="Regional
Target" DataFormatString="{0:#%}" HeaderText="Regional Target"
SortExpression="Regional Target"
HtmlEncode="False">
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
<br />
<asp:panel ID="pnlQuality" runat="server" CssClass="modalPopup"
Style="display: none" Height="506px"
Width="971px">
<table style="width: 965px; height: 158px">
<tr>
<td style="width: 100px; height: 3px" valign="top">

<asp:Button ID="btnCloseHedis" runat="server"
Text="Close" />
</td>
</tr>
<tr>
<td style="width: 100px; height: 421px" valign="top">

<asp:UpdatePanel ID="upHedis" runat="server">
<ContentTemplate>
<asp:GridView ID="gvHedis" runat="server"
AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" BackColor="White"
BorderColor="#E7E7FF" BorderStyle="None"
BorderWidth="1px" CellPadding="3"
DataSourceID="sdsHedis" GridLines="Horizontal"
Width="951px" EmptyDataText="Instances may not be
displayed if patient is UNLINKED">
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C"
/>
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<Columns>
<asp:BoundField DataField="PT_MRN"
HeaderText="PT_MRN" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="PT_NAME"
HeaderText="PT_NAME" SortExpression="PT_NAME" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="CVD" HeaderText="CVD"
SortExpression="CVD" HtmlEncode="False" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="DM" HeaderText="DM"
SortExpression="DM" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Mammography"
HeaderText="Mammography" SortExpression="Mammography" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="HTN" HeaderText="HTN"
SortExpression="HTN" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Cervical"
HeaderText="Cervical" SortExpression="Cervical" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Colorectal"
HeaderText="Colorectal" SortExpression="Colorectal" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Rank"
HeaderText="Rank" SortExpression="Rank" >
<HeaderStyle HorizontalAlign="Left" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C"
HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#738A9C"
Font-Bold="True" ForeColor="#F7F7F7" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True"
ForeColor="#F7F7F7" />
<AlternatingRowStyle BackColor="#F7F7F7" />
</asp:GridView>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="gvHedis"
EventName="PageIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="gvHedis"
EventName="Sorting" />
</Triggers>
</asp:UpdatePanel>
<asp:SqlDataSource ID="sdsHedis" runat="server"
ConnectionString="<%$ ConnectionStrings:IMS_cn %>"
SelectCommand="SELECT PT_MRN, PT_NAME, CVD, DM,
Mammography, HTN, Cervical, Colorectal, Rank FROM PPU.tbl_lst_HEDIS WHERE
(ProvID = @ProvID)">
<SelectParameters>
<asp:ControlParameter ControlID="cmbPCP"
Name="ProvID" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top