Laden...

Forenbeiträge von Nitro2k7 Ingesamt 276 Beiträge

15.07.2009 - 10:41 Uhr

<div class="keycell">Datei auswählen</div>
	                    <div class="valuecell">
                            <asp:FileUpload ID="FileUpload1" runat="server"/>
                            <asp:Button ID="_Button_Upload" runat="server" Text="Hochladen" onclick="_Button_Upload_Click" />
	                    </div>

Ich hab das ganze so gelöst. Inder OnClick Methode speicher ich mir FileName, File und die Größe über ein Objekt in der Session.
Der Button ist ein PostbackTrigger...!
Versuchs mal...!

Gruß
nitro

15.07.2009 - 09:23 Uhr

Danke erstmal

ich habe mir jetzt so geholfen:


StringBuilder sb = new StringBuilder();
            sb.AppendLine("<OberKnoten>");
            sb.AppendLine("<Unterknoten=\"" + .. + "\"/>");
            sb.AppendLine("</OberKnoten>");
            
            // ...

            Context.Response.Clear();
            Context.Response.ContentType = "text/xml";
            Context.Response.AddHeader("Content-Disposition", "attachment; filename=test.xml");
            Context.Response.Write(sb.ToString());
            Context.Response.End();

15.07.2009 - 08:36 Uhr

Hallo,

erstmal: Falls das hier das falsche Forum ist, bitte verschieben.

Ich würde gerne nach einem Klick auf einen LinkButton eine XML-Datei erstellen und die gleich zum Download anbieten. Am liebsten wäre mir also, die Datei nirgends abzulegen (und auch gleich wieder zu löschen), sondern sie, wie gesagt, gleich anzubieten.

Ist das überhaupt möglich? Oder mache ich nen Gedankenfehler...! Falls das möglich ist, hat jemand das schonmal gemacht?

Gruß
nitro

09.07.2009 - 09:48 Uhr

Hi Giggeler,

Was fehlt dir denn? Die Idee, die Umsetzung an einer Stelle?

Grundlegen bräuchtest du im Hintertgrund deiner Applikation eine Datei, die alle Wörter enthält, die das Programm schon "kennt".
In jeder Zeile ein Wort.

Dann kannst du das Wort ja markieren in deinem TextEditor (?!) und per ContextMenü machst du dir einen Menüpunkt, der eine Funktion aufruft, die das Wort an die Zeile anhängt.

Während jemand schreibt kannst du ja nach jedem mal, wenn die Leertaste, oder andere Tasten wie "-", "/" etc. gedruckt wurde eine Check-Funktion aufrufen, die das Wörterbuch durchgeht und schaut, ob das Wort bekannt oder unbekannt ist, sprich, ob das Wort enthalten ist oder nicht.
Könnte nur bei vielen Wörter performancelastig werden...!

Aber dafür fehlt mir jeder Hintergrund deiner (geplanten) Anwendung.

Gruß

nitro

09.07.2009 - 09:25 Uhr

Hi Giggeler,

also erstmal wäre es gut, wenn du wenigstens ein paar Satzzeichen in deinen Beitrag bauen würdest. So kann das kein Mensch lesen und du erschwerst es nur.

Weiter verstehe ich nicht ganz, was du möchtest.
Das Word-Wörterbuch kann man im Word durch Rechtsklick auf ein nicht bekanntes Wort und dann "Hinzufügen zum Wörterbuch" erweitern.
So fügt man "neue" Wörter hinzu.

Gruß

Nitro

03.07.2009 - 12:21 Uhr

Wie sonst auch:

"Conversion failed when converting datetime from character string."

langsam verzweifle ich echt...sitze schon so lange an dem Fehler...:(

Mal ganz davon abgesehen (ich habe das erste mal mit Datenbanken zu tun) kann ich mir vorstellen: Die Tabelle mit den Key/Value-Paaren wird sehr groß...das kostet doch Zeit & Performance, JEDE ZEILE nach dem Datetime zu konvertieren etc. oder? Eventuell in dem Dienst das ganze machen? (Daten laufen durch einen Dienst, bevor sie angezeigt werden)

03.07.2009 - 12:01 Uhr

Dein Statement so an sich geht.


select 
	a.[Value] 
from 
	(
		select 
			MyKeyValueTable.[Value]
		from 
			MyKeyValueTable
		where 
			MyKeyValueTable.[Key] = 'ReleaseTime'
	) as a 
where 
	CONVERT(datetime, a.[Value], 20) <= CURRENT_TIMESTAMP

Dies bringt mir wieder denselben Fehler...!
Das Subselect selber bringt mir aber nur die TimeStamps...also das geht, das Convert selber geht auch.

03.07.2009 - 11:51 Uhr

Ja, alle Zeilen (!) mit dem Key 'ReleaseTime' sind Datetimekonform...! Danke, ich probiere das mal gerade.

Leider genau der selber Fehler, wie oben angegeben (mit vbprogger's Subselect)

😦(

03.07.2009 - 11:35 Uhr

Okay, langsam habe ich ne vermutung.
Die Tabelle hat eine Key und Value Spalte. in der KeySPalte stehen logischerweise die Keys, in der Valuespalte die Values dazu. Kann es sein, dass der probiert jede Zeile in Datetime zu casten und das bei manchen werten logischwerweise nicht hinhaut? Nicht jedes Valuesfeld ist Datetimekonform.


SELECT
	*
FROM
	MyKeyValueTable
WHERE
	MyKeyValueTable.[Key] = 'ReleaseTime'
AND CONVERT(datetime, MyKeyValueTable.[Value], 9)  <= GETDATE()

03.07.2009 - 10:59 Uhr

Das ganze sollte in SQL passieren (Der Vergleich), genauer in einer Stored Procedure. Die Seite habe ich schon gesehen, schaffe es aber nicht, den string in Datetime zu wandeln, bisher wandle ich den Current_Timestamp in nvarchar, aber dann geht der Vergleich nicht richtig.

"Conversion failed when converting datetime from character string."

Gruß

nitro

03.07.2009 - 10:50 Uhr

verwendetes Datenbanksystem: MS SQL SERVER 2005

Hallo,

ich habe eine Tabelle, in der eine Spalte vom Typ nvarchar ist, in der ein Datetime gespeichert wird (als string also) in der Form "Jun 3 2009 12:00AM" (als Beispiel).

Ich würde nun gerne das FEld mit dem jetzigen Zeitpunkt (CURRENT_TIMESTAMP) vergleichen (größer/kleiner).

Nach dem, was ich bisher rausgefunden habe, kann SQL nur 2 Datetimes miteinander vergleichen, meine Frage ist nur: Wie caste (oder converte) ich die beiden so, dass ich sie vergleichen kann?

Gruß

nitro

30.06.2009 - 08:52 Uhr

Hallo nochmal,

ich hab mir jetzt selber geholfen, indem ich vorne einen "Auswählen" hingemacht habe (Commandfield) und dann betreffende Zeilen Visible=true/false setze.

Bin trotzdem für jede bessere Lösung dankbar.

Gruß

nitro

30.06.2009 - 08:07 Uhr

Hallo,

gibt es die Möglichkeit, ein GridView auf/zuklappbar zu machen? Jedoch nicht das komplette (wie hier beschrieben: KLICK), sondern nur spezielle Reihen.

Zur Verdeutlichung:

Reihe 1
----Reihe 2
----Reihe 3
Reihe n
----Reihe n+1
----Reihe n+2
----Reihe n+3
Reihe n+4
----Reihe n+5
etc.

Ähnlich einem Treeview, nur Tabellarisch. Bin ich da mit dem GridView richtig, oder gibt es eine andere, angenehmere Form? Kann man zu einem TreeView Linien hinzufügen?

Gruß

nitro

26.06.2009 - 11:23 Uhr

Dann hättest du trotzdem den Downtime, in der der Dienst "nix" tut...aber zumindest könntest du da weitermachen, wo du aufgehört hast...

26.06.2009 - 11:18 Uhr

Hmm...ich glaube fast, dass du keine Chance hast. Du musst die Dienste kurz anhalten, beim WCF zumindest die *.dll ersetzen und dann starten (Das ist ja keine lange Zeit), trotzdem kommst du mMn nicht um ein stopp-copy-start nicht drumrum.

Eventuell Nachts machen? Wenn vermeidlich wenig Clients da sind und vorher Bescheid sagen (a la "Downtime von 10 Minuten")

gruß

nitro

26.06.2009 - 09:27 Uhr

Unabhängig davon was man persönlich vom Menschen Michael Jackson hält (ich erinnere auch an die Missbrauchsvorwürfe), ist er doch einer der größten Musiker unserer Zeit gewesen, und insofern hat er definitiv meinen Respekt.

Gruß Michbeck1983

Besser kann man es nicht sagen 😉

26.06.2009 - 08:35 Uhr

Mir gehts ähnlich, ich bin kein Riesenfan, finde es aber dennoch tragisch.
In meinen Augen gibt es nicht viele (wenn es einen gibt) der auch nur ansatzweise an Michael Jackson rankommt (und vergleichbar wäre). Die alten CD's (für die älteren: Platten 😉 ) sind einfach nur genial und bis heute nicht grundlos (!) gerne gehört! In Sachen Musik hat er einfach Maßstäbe gesetzt, die seine aktive Zeit geprägt haben.

Ich finds traurig, dass er nicht mehr lebt, freue mich aber auf der anderen Seite, dass ich ihn noch "mitbekommen" habe 😃

24.06.2009 - 13:56 Uhr

Pack die Table in ein Updatepanel, als Trigger dein Button, Contenttemplate ist deine Tabelle...!

Die Funktiondes ButtonOnClick bleibt erhalten. So fügst du eine Zeile hinzu und aktualisierst dann nur die Tabelle, nicht die komplette Seite, die dir ja immer wieder nur eine Zeile anzeigt.

gruß

nitro

24.06.2009 - 13:14 Uhr

dein fehler liegt dann hier:


tblArbeitsplatz ap = glo.tblArbeitsplatz
                                      .Where(a => a.tblArbeitstisch.ArbeitstischID == tischID)
                                      .First();

Was du dahinter machst, weiss ich nicht, aber wie gesagt: da kommt bei dir nichts an (null) 😉

24.06.2009 - 10:37 Uhr

Kann es sein, dass dein "ap" nicht richtig instanziiert ist? Debugg mal und schau, ob das nicht "null" ist, weiter schaue mal hier:

[FAQ] NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

24.06.2009 - 10:22 Uhr

Wo knallts denn...bei der Zuweisung? Beim Convert? (Kein Value hinter den Items)...
Oder bei der Datenbankfunktion?

gruß

Nitro

23.06.2009 - 12:50 Uhr

Ich muss zugeben, dass ich das Phänomen auch schon ein paarmal hatte, auch aus mir unerklärlichen Gründen...! Ich drücke "F10" und er macht ganz normal weiter wie bei "F5"...hab ichs nochmal debugged, gings...!

Du bist also nicht alleine 😉

Gruß

nitro

22.06.2009 - 14:19 Uhr

stichwort string.contains(...)

19.06.2009 - 11:54 Uhr

Wenn in dem einen UserControl NUR (!!!) das Gridview ist, dann ist es ja egal, ob du das gridview nochmal füllst oder das Control einblendest...! Aber wie gesagt, du kannst auch das UserControl einblenden, ist ja egal, was du im ContentTemplate einblendest bzw. in der Button_Click-Methode mit dem UserControl oder dem GridView machst.

lg

nitro

19.06.2009 - 09:35 Uhr

ALso ich finde, du hast das ein wenig kompliziert aufgebaut, zumindest gehts einfacher:

Du machst dir eine ganz normale aspx Seite, darauf eine TextBox.
Dann kannst du die CalenderExtension nehmen (das ist glaube genau das, was du suchst)

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Calendar/Calendar.aspx

Zum auswählen des Datums.
Dann machst du noch einen Button, und darunter ein UpdatePanel, wo als Trigger der Button drin ist, als ContentTemplate dein GridView.

In der OnClick-Methode des Buttons befüllst du dein Gridview deinen Werten und fertig bist du 😃

Somit hättest du dir die UserControls gespart, nur ein Updatepanel und nen schönen Kalender 😉

19.06.2009 - 09:09 Uhr

Naja, ein UpdatePanel hat 2 Grundlegende Elemente:

Trigger und das COntentTemplate.

Die Trigger beinhalten das Control, auf das das UpdatePanel reagieren soll. In deinem Fall der Button. ContentTemplate wäre dann in deinem Fall das GridView, was aktualisiert wird.

Du hast ja den Button, der bei "OnClick" irgendwas macht.
OnClick="Button1_DoSomething"

in der DoSomething aktualisierst du dann das GridView und gibst es auch als COntentTemplate im Updatepanel an, ca so:


<asp:UpdatePanel ID="MyUpdatePanel" runat="server" UpdateMode="Conditional" >
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="MyButton" EventName="Click" />
                    </Triggers>
                    <ContentTemplate>
                        <!-- Hier dein UserControl oder halt das GridView, was aktualisiert werden soll -->
                    </ContentTemplate>
                </asp:UpdatePanel>

Somit reagiert das UpdatePanel auf die im Trigger eingetragenen Elemente, bzw. auf das Event der eingetragenen Elemente und aktualisiert seinen Inhalt (ContentTemplate)

gruß

nitro

19.06.2009 - 08:53 Uhr

Hast du als Trigger der UpdatePanels bei beiden den Button eingegeben???

17.06.2009 - 15:29 Uhr

Gabs nicht bei Command and Conquer mal so ne Sirene??? Eventuell da mal schauen, vielleicht liegt die Datei ja als *.wav oder sowas vor?!

Gruß

nitro

15.06.2009 - 22:59 Uhr

Naja, du hast doch die Funktion schon gepostet...dann ruf sie doch einfach auf, du bekommst laut der Funktion ne Liste zurück mit allen emailadressen in einem Text...!

Rein vom ersten Blick und deiner Beschreibung genau das, was du suchst...!

lg

nitro

11.06.2009 - 13:58 Uhr

Füge oben in der MasterPage mal ein:

<%@ Register Src="MyUserControl.ascx" TagName="MyUserControl" TagPrefix="uc1" %>

das sprichst du dann an mit

<uc1:MyUserControl id="MyUserControl1" runat="server"></uc1:MyUserControl >

sollte gehen (umindest sieht es bei mir so aus 😉)

10.06.2009 - 17:48 Uhr

Hallo Leute,

mal ganz dumm gefragt:
Wie installiere ich einen Windows-Service unter WIndows 7? oder Vista?

Bei XP gabs immer "InstallUtil" und ich war glücklich...wie schaut das jetzt aus? Ich suche andauernd, werde aber nicht schlau...!

Hat da schon wer Erfahrung?

Gruß

nitro

10.06.2009 - 16:17 Uhr

GIbts nicht so eine "contains"-sache?
a la

if (filename.contains("xyz"))
{
...
}
08.06.2009 - 11:57 Uhr

Wie sieht das denn im Code aus...bindest du die a la:


MyDropDown.DataSource = MyDataTable;
MyDropDown.DataTextField = "Spaltedieangezeigtwerdensoll";
MyDropDown.DataBind();

?

Gruß

Nitro

08.06.2009 - 11:16 Uhr

@Nitro2k7: aspx wird nicht gemeint sein da es eine Frage im GUI: Windows-Form Forum ist.

UPS...mein Fehler...Tut mir leid^^

08.06.2009 - 11:06 Uhr

Naja, also ich würds einfach mal so probieren:

deine Tabelle als Datasource:


GridView1.DataSource = MyTable.DefaultView;
GridView1.DataBind();

dann im aspx Code:


<asp:GridView ID="GridView1"...>
...
<Columns>
<asp:BoundField DataField="DataBaseTableColumnName" HeaderText="HierstehtmeinSpaltenHeader" />
</Columns>
</asp:GridView>

Ansonsten mach dir doch ein DataTable, füge in das ROws ein, in die Rows SPalten und dann kannst du sie füllen, wie du das schon mit dt[0] und so weiter machst, danach auch wieder

MyGridView = MyDataTable.DefaultView;

Siehe DataTable-Klasse

08.06.2009 - 10:59 Uhr

Verstehe ich das richtig, dass es lediglich um eine Anzeige von Daten einer Tabelle in einem DGV geht?

wieso machst du nicht einfach ganz normal mit datasource, databind und im aspx code hast du die Boundfields, die du anzeigen möchtest...!

Versteh ich was falsch?

Gruß

nitro

02.06.2009 - 14:15 Uhr

sowas wie "selectedIndexChanged" ?!

29.05.2009 - 09:15 Uhr

Ich hab deinen code mal getestet, mit einer Spalte/Zeile, integer und eine Zahl zugewiesen und das geht. Es muss irgendwo an deiner foreach-schleife liegen...! eventuell die Hyperlinks?

28.05.2009 - 13:31 Uhr

Hi,

also erstmal ist es vielleicht nicht so gut, wenn du uns ständig den kompletten Code postest...^^. Du musst immer bedenken, dass wir nicht in dem Projekt drinstecken, schon gar nicht so tief wie du, somit sollten deine Fragen möglichst eindeutig sein, somit auch der Code-Teil an dem es hängt.

Du kannst dir doch ne Klasse für deine Spielfiguren machen, die Standardkoordinaten für deine Spielfiguren enthält, und die rufst du dann einfach auf und lässt so bei jedem(!) Spielanfang deine Figuren"neu" setzen.

Wenn die frei wählbar sein sollen, kannst du ja vorher eine Abfrage machen, wo die Figuren hinsollen, dann kannst du die dir speichern und bei einem "Neuen Spiel" wieder auslesen bzw. setzen.

27.05.2009 - 14:03 Uhr

Im grunde ist das "schnell" gemacht...wenn du nur

Kunde von bis was( gemacht nehme ich mal an)

haben willst, hast du eine deiner datenbanktabellen schon fast definiert 😉

ein design aufsetzen (oder ein fertiges nehmen) und dann ist das ein kleines aber nützliche projekt 😃

gruß

Nitro

27.05.2009 - 08:13 Uhr

Okay, ich probier das mal mit dem runat-Attribut. Ist auch nur ein Control unter vielen, was aber halt in HTML und nicht ins asp ist.

Danke und danke auch an kleines_eichhoernchen 😃

Gruß

Nitro

27.05.2009 - 07:31 Uhr

Hallo

ist es möglich, auf ein normales HTML-Element (bzw. dessen value) zuzugreifen per Codebehind mit C#?

Ich habe das hier

KLICK

schon gefunden, aber wollte mal fragen, ob das nicht einfacher geht und/oder ob das die leichteste Lösung ist.

Gruß

Nitro

26.05.2009 - 14:39 Uhr

Ein bisschen mehr Info wäre gut...

Legst du jedesmal eine neue Row an, fügst die dem DT hinzu?
Was für eine Fehlermeldung bekommst du? Debuggen?

Gruß

Nitro

26.05.2009 - 12:02 Uhr

Das frage ich ab mit


if (GridView1.Rows.Count > 0 ...)

Somit würde er erst bei der zweiten Zeile in den Zweig springen und kann somit auf die Zeile vor ihm zugreifen. So war das gedacht^^....!

Ich glaube, ich werds damit lösen, wie du sagtest, mir das irgendwo zu merken.
Danke dir trotzdem 😃

EDIT:
Der ROws count fragt nach der anzahl, nicht nach dem index...wenn DAS der fehler ist/war...KOPF--> TISCH!!!

EDIT2:
Puuuuh, das DataItem ist immernoch null...^^

26.05.2009 - 11:53 Uhr

Okay,

also


GridViewRow testrow = GridView1.Rows[e.Row.RowIndex - 1];

Die Row bekommt er noch. Darin das DataItem


object dataItem = row.DataItem;

bzw.

object data = DataBinder.Eval(dataItem, "MeinSpaltenHeader");

ist dann schon alles null.

DataItem = null,DAtaItemIndex = 0, RowIndex = 0 (gut, ist auch die erste Zeile des GridView 😉 )

gruß

nitro

26.05.2009 - 11:34 Uhr

Das hätte ich natürlich gleich dazu schreiben können...


object asdf = DataBinder.Eval(GridView1.Rows[e.Row.RowIndex - 1].DataItem, "MeinSpaltenHeader");

Das object ist somit immer null...

gruß

nitro

26.05.2009 - 10:50 Uhr

Hallo Peter,

ja, das hatte ich auch, aber da bekomm ich eine NullReferenceException, Objektverweis nicht auf Objektinstanz etc. ...

Nur die Frage, warum? Kennt er vielleicht im Databinder nur (ausschliesslich) die aktuelle Zeile?

Gruß
Nitro

26.05.2009 - 09:17 Uhr

Okay, für die aktuelle Reihe bekomme ich das hin


DataBinder.Eval(e.Row.DataItem, "MeinSpaltenHeader")

Sollte ich das auch bei der Reihe drüber machen? Wenn ja, wie greife ich da per DataBinder drauf zu, da in "e.row" ja nur meine aktuelle Reihe steht.

Gruß

Nitro

25.05.2009 - 16:05 Uhr

Habs jetzt so gelöst:


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (GridView1.Rows.Count > 0 && e.Row.RowType == DataControlRowType.DataRow)
            {
                // Vorherige Zeile...
                GridViewRow row = GridView1.Rows[e.Row.RowIndex - 1];

                // Falls die ID ungleich der ID der Zeile darüber ist...
                if (row.Cells[0].Text != e.Row.Cells[0].Text)
                {
                    // ... bekenne Farbe...^^
                    if (row.BackColor == Color.Green)
                    {
                        e.Row.BackColor = Color.White;
                    }
                    else
                    {
                        e.Row.BackColor = Color.Green;
                    }
                }
                // Falls die ID gleich ist, nimm die Farbe der Zeile darüber an
                else
                {
                    e.Row.BackColor = row.BackColor;
                }
            }
        }

        // Nach dem kompletten Databind, blende die ID Spalte aus (Für User unrelevant, da GUID'S)
        protected void GridView1_DataBound(object sender, EventArgs e)
        {
            GridView1.Columns[0].Visible = false;
        }


funktioniert...!Danke! 😃

PS: Das grün ist nur, damit ichs besser sehe^^...das kann man ja variieren...