Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Text aus einer TextBox in einem EditItemTemplate ausgeben
Steven85
myCSharp.de - Member



Dabei seit:
Beiträge: 91

Themenstarter:

Text aus einer TextBox in einem EditItemTemplate ausgeben

beantworten | zitieren | melden

Hallo zusammen, habe ein DataGrid mit mehrere TemplateColumns.

<asp:DataGrid ID="dgrDatenbankzuordnungen" runat="server" Width="100%" AutoGenerateColumns="False"
                                    Caption="Datenbankzuordnungen" BorderWidth="1px" BorderStyle="Solid" BorderColor="#E6E6E6"
                                    PageSize="5" OnItemCommand="dgrDatenbankzuordnungen_ItemCommand">
                                    <AlternatingItemStyle BackColor="#F8F8F8" />
                                    <ItemStyle BackColor="#EEEEEE" />
                                    <Columns>
                                        <asp:TemplateColumn HeaderText="ID">
                                            <ItemTemplate>
                                                <asp:Label ID="lblID" runat="server" Text='<%# Eval("ID") %>' />
                                            </ItemTemplate>
                                        </asp:TemplateColumn>
                                        <asp:TemplateColumn HeaderText="Alias">
                                            <EditItemTemplate>
                                                <asp:TextBox ID="edAlias" runat="server" Text='<%# Eval("Alias") %>' Style="width: 100%;" />
                                            </EditItemTemplate>
                                            <ItemTemplate>
                                                <asp:Label ID="lblAlias" runat="server" Text='<%# Eval("Alias") %>' />
                                            </ItemTemplate>
                                        </asp:TemplateColumn>
                                        <asp:TemplateColumn HeaderText="ConnectionString">
                                            <EditItemTemplate>
                                                <asp:TextBox ID="edConnectionString" runat="server" Text='<%# Eval("ConnectionString") %>'
                                                    Style="width: 100%;" />
                                            </EditItemTemplate>
                                            <ItemTemplate>
                                                <asp:Label ID="lblConnectionString" runat="server" Text='<%# Eval("ConnectionString") %>' />
                                            </ItemTemplate>
                                        </asp:TemplateColumn>
                                        <asp:TemplateColumn>
                                            <ItemTemplate>
                                                <div style="white-space: nowrap;">
                                                    <asp:Button ID="btnEdit" runat="server" CommandName="Edit" Text="" class="btn24_Stift"
                                                        ToolTip="Datenbank bearbeiten, bzw. Bearbeitung abbrechen" />
                                                    <asp:Button ID="btnUpdate" runat="server" CommandName="Update" Text="" class="btn24_Haken"
                                                        ToolTip="Änderrungen übernehmen" />
                                                    <asp:Button ID="btnDeleteDBAssignment" runat="server" CommandName="Delete" Text=""
                                                        class="btn24_RedX" ToolTip="Zuordnung entfernen" OnClientClick="javascript: return confirm('Zuordnung wirklich unwiderruflich entfernen?');" />
                                                </div>
                                            </ItemTemplate>
                                        </asp:TemplateColumn>
                                    </Columns>
                                    <HeaderStyle Font-Bold="True" BackColor="White" />
                                    <PagerStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages" />
                                </asp:DataGrid>

Mit den Buttons in der letzten Spalte löse ich das
dgrDatenbankzuordnungen_ItemCommand
Event aus, nur irgendwie komme ich nicht an den Text in dem DataGrid. Mit
dgrDatenbankzuordnungen.Items[e.Item.ItemIndex].Cells[index].Text
bekomme ich nur einen leeren String aus allen Zelle. Die Datasource ist ebenfalls null, obwohl ich diese gesetzt habe und auch alles korrekt dargestellt wird. Ich könnte natürlich die Source in der Session speichern, jedoch brauche ich den aktuellen Text aus der Textbox wenn ich die Felder editiere.

Ich hoffe ihr könnt mir einigermaßen Folgen und vor allem helfen.
private Nachricht | Beiträge des Benutzers
Diräkt
myCSharp.de - Member



Dabei seit:
Beiträge: 622
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo Steven85


Um an die Controls innerhalb des ItemTemplates zu kommen musst du folgendermassen vorgehen:


TextBox edAlias= (TextBox)e.Item.FindControl("edAlias");


Beste Grüsse

Diräkt
private Nachricht | Beiträge des Benutzers
Steven85
myCSharp.de - Member



Dabei seit:
Beiträge: 91

Themenstarter:

beantworten | zitieren | melden

Absolut perfekt. Vielen Dank. :)

Kann ich wenn ich in dem Item_Command Event bin und dort die Datenbankaktualisierung mache, eine Messagebox aufrufen die sowas beinhaltet wie "Sind sie sicher?".

Die Javascript Funktion confirm('...') kenne ich, jedoch ist da das Problem das ich ja bereits in der Codebehind bin. Hoffe sowas ist möglich das ich beim klick auf nein oder abbrechen aus der Codebehind rausspringen kann.
private Nachricht | Beiträge des Benutzers
Diräkt
myCSharp.de - Member



Dabei seit:
Beiträge: 622
Herkunft: Schweiz

beantworten | zitieren | melden

Hallo Steven85
Zitat
Kann ich wenn ich in dem Item_Command Event bin und dort die Datenbankaktualisierung mache, eine Messagebox aufrufen die sowas beinhaltet wie "Sind sie sicher?"
Also eine MessageBox gibts nicht ;-). Dein Vorhaben ist nicht ganz trivial.

Der einfachste Weg wäre:
=> Den "Update" oder "Save" (Link,Button whatever) eine client Methode hinzufügen, z.B. confirm.

Alternativ geht auch:
=> Serverseitig kannst du ein Script registrieren. (Um bspw. im Item_Command Event dann ein Confirm anzuzeigen oder was auch immer)
( Script Manager
=> Nach dem du das confirm result hast, kannst du ein WebService aufrufen (oder PageMethod) um dann die Aktion durchzuführen.
Zitat
Die Javascript Funktion confirm('...') kenne ich, jedoch ist da das Problem das ich ja bereits in der Codebehind bin. Hoffe sowas ist möglich das ich beim klick auf nein oder abbrechen aus der Codebehind rausspringen kann.

Sowas wie (pseudo):

'.....
messageBox.Show("...");
if(messageBox.Result == "Ok")
{
   ...
}
'.....

Sowas geht nicht, wird nie gehen, und ist Winform style, hat mit Web nichts zutun.
Du arbeitest im Web mit Callbacks für solche Szenarien...

Beste Grüsse

Diräkt
private Nachricht | Beiträge des Benutzers