Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> template control, простенький пример 
V
    Опции темы
StepS
  Дата 11.7.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Всем привет.
Нужно написать простой контрольчик, не могу раздуплиться как это сделать.
Т.е. контрол должен уметь ложить в себя гриду.

Что-то типа такого:

Код

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FilteredGridView.ascx.cs" Inherits="Controls_FilteredGridView" %>
<table width="100%">
    <tr>
        <td><asp:TextBox ID="txtSearchLine" runat="server" />
                <asp:Button ID="btnFind" runat="server" Text="Search" OnClick="SearchClick" CssClass="Hidden" /> </td>
        <td><asp:DropDownList ID="cboFields" runat="server" /></td>
    </tr>
    <tr>
        <td colspan="2">
            <asp:UpdatePanel ID="grdUpdatePanel" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:PlaceHolder ID="GridViewPlaceHolder" runat="server">
                        // Здесь нужно уметь подкладывать гриду.
                    </asp:PlaceHolder>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnFind" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>
        </td>
    </tr>
</table>


как такой контрол юзать на страницах ? 
так не получаеться:
Код

<ctl:FilteredGridView ID="grdVehicles" runat="server" >
         <asp:GridView..../> ????????
</ctl:FilteredGridView>


 smile 
PM MAIL ICQ   Вверх
StepS
Дата 12.7.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Все.. решил.

Чтобы в дизайнере можно было подложить. пишем:

Код

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FilteredGridView.ascx.cs" Inherits="Controls_FilteredGridView" %>
<table width="100%">
    <tr>
        <td><asp:TextBox ID="txtSearchLine" runat="server" />&nbsp;<asp:DropDownList ID="cboFields" runat="server" /></td>
        <td><asp:Button ID="btnFind" runat="server" Text="Search" /></td>
    </tr>
    <tr>
        <td>
            <asp:UpdatePanel ID="grdUpdatePanel" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:PlaceHolder ID="grdPlaceHolder" runat="server" />
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnFind" EventName="Click" />
                </Triggers>
            </asp:UpdatePanel>
        </td>
    </tr>
</table>


в cs нужно реализовать пропертю ITemplate, и обязательно примерить атрибут PersistenceMode, чтоб дизайнер его увидел
Код

public partial class Controls_FilteredGridView : UserControl {

    private ITemplate gridTemplate = null;

    [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
    [TemplateContainer(typeof(GridViewContainer))]
    public ITemplate GridViewTemplate {
        get { return gridTemplate; }
        set { gridTemplate = value; }
    }
   .......
}


на клиенте пишем:
Код

<ctl:FilterdGridView ID="grd" runat="server">
    <GridViewTemplate>
        <ctl:GridViewEx runat="server" ID="grdVehicles" >
                <HeaderStyle CssClass="ListHeader" />
            <Columns>
               ........
            </Columns>
        </ctl:GridViewEx>
    </GridViewTemplate>
</ctl:FilterdGridView>


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.3414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.