Re[3]: Динамически создать компонент.
От: rus blood Россия  
Дата: 10.06.04 08:53
Оценка:
A>а можно легкий пример где нибуть посмотреть..

Наверно это не совсем то, что тебе нужно.
У нас был контрол ascx, отображающий DataGrid.
В одной колонке были две кнопки

        <asp:TemplateColumn 
            HeaderText="......" 
            SortExpression="...."
            ....>
            
            <ItemTemplate>
            
                <asp:ImageButton
                    id=ImageButton_Status
                    runat=server 
                    ImageUrl="...."
                    Width=13 Height=13 />
                    
                <asp:LinkButton
                    ID=LinkButton_ProposalID 
                    ForeColor=#000000 
                    Runat=server 
                    Font-Name="Verdana" 
                    Font-Size="x-small">
                        <span style="vertical-align:top;">
                            <%# DataBinder.Eval(Container.DataItem, "....") %>
                        </span>
                </asp:LinkButton>
            </ItemTemplate>
            
        </asp:TemplateColumn>


В коде ascx был обработчик ItemCommand, примерно такой.
(писалось на vb, но это не суть).

    Private Sub DataGrid_Sheet_ItemCommand( _
     ByVal source As Object, _
     ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
     Handles DataGrid_Sheet.ItemCommand

        'we should check what the control have raised the event
        Dim pControl As WebControl
        Dim pRowView As DataRowView
        ....

        'check the item type of event source
        If e.Item.ItemType <> ListItemType.AlternatingItem And _
         e.Item.ItemType <> ListItemType.Item And _
         e.Item.ItemType <> ListItemType.EditItem And _
         e.Item.ItemType <> ListItemType.SelectedItem Then
            Exit Sub
        End If

        'obtain the source control
        pControl = e.CommandSource
        ....

        'check the type of source control
        Select Case pControl.ID
            Case "LinkButton_ProposalID"
                'the poroposal ID was clicked, fire item selected event
                RaiseEvent ItemSelect(e.Item.ItemIndex, ....)
            Case "ImageButton_Status"
                'the Status button was clicked, fire item delete event
                RaiseEvent ItemStatus(e.Item.ItemIndex, ....)
            Case Else
                Exit Sub
        End Select

    End Sub


Контрол rais-ит события. Страница подписывается на события контрола.
Имею скафандр — готов путешествовать!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.