Как отобразить данные скрытого столбца, когда выбрана строка GridView? - PullRequest
0 голосов
/ 02 марта 2012

У меня есть вид сетки, в котором скрыт четвертый столбец с панелью.

Ранее я показывал скрытую панель при наведении мыши на определенную строку с помощью AJAX HoverMenuExtender

<asp:TemplateField>
                                <ItemTemplate>
                                    <asp:HoverMenuExtender ID="HoverMenuExtender" runat="server" PopupControlID="PopupMenu"
                                        TargetControlID="grdMainData" PopupPosition="Center" OffsetY="30" OffsetX="10"
                                        PopDelay="50" HoverCssClass="popupHover">
                                    </asp:HoverMenuExtender>
                                    <asp:Panel runat="server" ID="PopupMenu" CssClass="popupMenu">
    <asp:Label ID="lblVDetails" runat="server" Text='<%#Eval("vDetails")%>'/>
                              </asp:Panel>
                             </ItemTemplate>
                            </asp:TemplateField>

Ееработает отлично ...

Но теперь я хочу поместить кнопку в gridview и отображать всплывающее окно, когда я нажимаю на кнопку

Означает, что когда я нажимаю на кнопку row1, я должен получить панель row1во всплывающем окне я не хочу никаких обновлений страниц

Возможно ли использовать какие-либо JavaScript, JQuery или AJAX Extenders

Это возможно или нет?

Это мой GridView:

<asp:GridView ID="grdMainData" runat="server" CellPadding="3" BackColor="White" BorderColor="#CCCCCC"
                        BorderStyle="None" BorderWidth="1px" Width="900" OnRowCreated="GridView1_RowCreated"
                        AutoGenerateColumns="False" OnRowDataBound="grdMainData_RowDataBound">
                        <Columns>
                            <asp:BoundField HeaderText="Curriculum" DataField="Curriculum" />
                            <asp:BoundField HeaderText="Title" DataField="Title" />
                            <%--<asp:BoundField HeaderText="Code" DataField="Code" />--%>
                            <asp:TemplateField>
                            <ItemTemplate>
                            <asp:Button type="button" ID="btnCode" class="button-code" runat="server" Text='<%#Eval("Code") %>'/>
                            </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField HeaderText="Stage" DataField="Stage" />
                            <asp:TemplateField>
                                <ItemTemplate>
                                    <asp:ModalPopupExtender ID="ModalPopupExtender" runat="server" TargetControlID="btnCode" PopupControlID="PopupMenu" DropShadow="true" CancelControlID="lnkClose">
                                    </asp:ModalPopupExtender>

                                    <asp:Panel runat="server" ID="PopupMenu" CssClass="popupMenu">
    <asp:Label ID="lblVDetails" runat="server" Text='<%#Eval("vDetails").ToString().Replace("\u2022","<br/> \u2022")%>'/>
    <asp:LinkButton ID="lnkClose" runat="server">Close</asp:LinkButton>
                              </asp:Panel>
                             </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
</asp:GridView>

1 Ответ

0 голосов
/ 02 марта 2012

Поскольку вы уже используете AJAX Extenders.Я предлагаю просто продолжать использовать это.ModalPopUpExtender набора инструментов управления AJAX идеально подойдет для того, что вам нужно.вы можете проверить его демо и документацию здесь .

Обновление: используйте эту разметку

<asp:ModalPopupExtender 
     ID="ModalPopupExtender" 
     runat="server"
     TargetControlID="btnCode"
     PopupControlID="PopupMenu">
</asp:ModalPopupExtender>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...