Autor Beitrag
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 14.04.10 12:40 
Hallo,

ich innerhalb eines DataGrid eine Spalte mit einer ComboBox, bzw. genauer eine DropDownExpander mithilfe eines TemplateColumn eingefügt.

Soweit so gut. Allerdings möchte ich nun nicht an jeder Stelle wo ich diese "Column" verwenden möchte, den Code einfügen sondern ihn wiederverwenden. Ein ähnliches Vorhaben (mit einer "image"-Column) habe ich durch eine custom "ImageDataGridColumn" (welche von BoundColumn erbt) gelöst. Ich befürchte aber, dass bei diesem TemplateColumn der Aufwand bzw. die Komplexität aufgrund der JavaScripte zu hoch ist. Deshalb würde ich es anstreben Web-UserControl zu implementieren, welches ich dan als DataGridColumn verwenden kann. Allerdings sind da meine versuche gescheitert.

Würde mich freuen, wenn jemand eine Idee hat, wie ich eine "komplexe" DataGridColumn erstelle.

Danke & Gruß

Daniel

PS: Hier noch die Funktion mittels ItemTemplate
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
    <asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="false" Width="100%" Height="300"
        Style="position: relative;">
        <Columns>
            <asp:TemplateColumn ItemStyle-Width="100%">
                <ItemTemplate>
                    <asp:Panel runat="server" ID="popupControl">
                        <asp:Literal runat="server" ID="lText" Text="Value"></asp:Literal>
                    </asp:Panel>
                    
                    <asp:ListBox ID="valueList" runat="server">
                        <asp:ListItem Text="One"/>
                        <asp:ListItem Text="Two"/>
                        <asp:ListItem Text="Three"/>
                    </asp:ListBox>
                    
                    <ajaxToolkit:DropDownExtender ID="DDE" runat="server"  
                        TargetControlID="popupControl"
                        DropDownControlID="valueList">
                        <Animations>
                            <OnShow>
                                <Sequence>                   
                                    <HideAction Visible="true" />                                          
                                    <FadeIn  Duration="0.3" Fps="20" />         
                                </Sequence>
                            </OnShow>
                        </Animations>
                    </ajaxToolkit:DropDownExtender>
                </ItemTemplate>
            </asp:TemplateColumn>
        </Columns>
    </asp:DataGrid>