Laden...
Avatar #avatar-2533.jpg
schaedld myCSharp.de - Member
.NET Web Developer Schweiz Dabei seit 05.04.2006 1.433 Beiträge
Benutzerbeschreibung

Forenbeiträge von schaedld Ingesamt 1.433 Beiträge

18.05.2009 - 12:24 Uhr

Empfehlenswert ist der WebCast zu WPF 3D, da sieht man wie die 3D Modelle aufgebaut sind und was es mit den Dreiecken auf sich hat.

18.05.2009 - 12:22 Uhr

zu langsam... =)

18.05.2009 - 11:20 Uhr

Onclick wird bei einem ShowConfirm, wie Du es mit OK und Abbrechen hast, ausgeführt. Wenn Du dass nicht willst, kannst Du den Postback mit

 return false;

unterbinden.

14.05.2009 - 09:28 Uhr

Mit der PowerShell hast du mit folgendem Commando alle Dienste des PC's.


get-service

Von einem Remote-Rechner kannst Du sie so abfragen:


Get-WmiObject Win32_Service -computername "DEV-TESTSQL-03"
13.05.2009 - 13:08 Uhr

Nachtrag.

Eventuell noch ergänzend eine nicht schlechte Hilfequelle.

12.05.2009 - 08:45 Uhr

Ich mache mir immer folgendes Szenario (dann brauch ich kein ObjectQuery)

  
ImmobilienModel model = new ImmobilienModel();  
GridView.DataSource = (from entry in modell.Settings where entry.Id select entry).ToList<Immobilien>();  
GridView.DataBind();  
  

Ja. Schön. Dann hast du die Daten aber an eine List<Setting> gebunden, nicht an eine ObjectQuery<Setting>. Bist also raus aus dem EF-Kontext.

LaTino

Danke für den Hinweis. 👍

11.05.2009 - 16:07 Uhr

Ich mache mir immer folgendes Szenario (dann brauch ich kein ObjectQuery)


ImmobilienModel model = new ImmobilienModel();
GridView.DataSource = (from entry in modell.Settings where entry.Id select entry).ToList<Immobilien>();
GridView.DataBind();

11.05.2009 - 15:57 Uhr

Wenn ihr die Implementierung der Komponente kennt, wollte ich Fragen, ob man genau so dies in ein User Controll auslagern kann? Im Grunde wird dann das DataGrid.DataSource an ein EntityBindingObj eingefügt...

  1. DataGridView in ein Usercontrol auslagern
  2. Die DataSource die dann verwendet wird von der Webseite her als Property an das UserControl übergeben
  3. Binding im UserControl
  4. Sortieren, Editieren, löschen etc. lösen im UserControl ein Ereignis aus, auf welches Du dann in der Webseite die das Usercontrol beherbergt reagieren kannst.

Hoffe und bete schon fast auf eine Antwort... mein Chef macht mir total dampf!

Zum Glück weiss ich dass ich in diesem Fall nicht alleine bin. 😁

11.05.2009 - 15:53 Uhr

Hast Du das Ganze folgende Thema schon durch?
Schnellstart (Entity Framework)
Vielleicht hilft Dir der eine oder andere Hinweis dort.

11.05.2009 - 15:35 Uhr

Jetzt steht im Header: Güte

ist doch das gleiche wie

güte

ausser dass der erste Buchstaben klein ist. Wenn Du Dir eine kleine Methode baust, die den ersten Buchstaben ToUpper() macht dann kannst Du diese den Cell.Text übergeben und dann wieder den geänderten Wert der Cell.Text

11.05.2009 - 06:49 Uhr

Auch wenn es vielleicht schon bekannt ist, möchte ich dennoch darauf hinweisen, das es nicht möglich ist den RC später auf das RTM zu upgraden. Also jetzt nich wie Teufel komm raus Produktivsysteme updaten. Die kann man dann alle wieder schön neu aufstezen.

Nur noch mal so nebenbei...

Am Anfang hat's ja auch geheissen eine Beta von Windows 7 könne man nicht mit einem RC upgraden, dann ist's schliesslich doch gegangen (MS hat einen kleine Trick bekannt gegeben).

06.05.2009 - 10:47 Uhr

@Xand0r :
Upgrade von Vista? Wie macht man das?
Bei mir verlangt W7 eine Upgrade CD, und im Netz lese ich nur etwas von der
Möglichkeit die W7 Beta upzugraden.

Ich habe lediglich die setup.exe als Administrator bei meinem Vista (aufgestartet Vista Home Premium) ausgeführt. Im Setup-Assistent von Windows 7 hatte ich dann die Möglichkeit einen Upgrade auszuwählen.

06.05.2009 - 08:01 Uhr

Mein MediaCenter PC musste sich gestern auch ein Upgrade ergehen lassen. Erstes Fazit: Windows 7 ist wesentlich Resourcen schonender als VISTA und Kompliment an MS für die bis jetzt geleistete Arbeit.

Werde heute Abend noch ein wenig damit rumspielen und dann, wenn's Neuigkeiten gibt, diese hier niederschreiben. 😁

30.04.2009 - 09:47 Uhr

Wenn eine 1 dort steht soll halt das Bild 1.jpg angezeigt werden und bei 2 und 3 halt das jeweils passende Ich nehme mal an dass die Bilder in einem Image Verzeichnis gespeichert sind. Wären OnRowDataBound kannst Du Dir das Bild suchen, schauen was für ein Wert reingeschrieben wird und dann die ImageURL entsprechend anpassen.

30.04.2009 - 09:19 Uhr

Dann müsste er aber irgendwoher den Pfad zum Bild haben, dann könnte er den Images Ordner nach dem Bildnamen von der Datenbank her suchen und dann die ImageUrl so setzen.

30.04.2009 - 06:34 Uhr

Verwende, wenn es denn sein muss, die PageMethods vom Scriptmanager. Rufe von dieser PageMethod die statische Methode im Codebehind aus und speichere deren Rückgabewert in einer globalen js-Variable, dann kannst Du diese weiterverwenden wo auch immer Du willst.

30.04.2009 - 06:32 Uhr

Binde die Daten nur wenn es kein Postback ist, dann hast Du sie zur Verfügung. Ich habe mir folgenden Code angewöhnt:

if(!IsPostBack){
   // Binde meine Daten an irgend etwas
}
30.04.2009 - 06:12 Uhr

Vielleicht hilft Dir das hier weiter.

28.04.2009 - 14:03 Uhr

Das liegt daran dass wohl ein AutoPostBack auf true gesetzt worden ist und die Daten neu geladen werden.

Wenn Du den Autopostback ausschaltest sollte es gehen. Ansonsten:

if(!IsPostBack){
   GridView.DataSource = DeineSource;
   GridView.DataBnd();
}
28.04.2009 - 12:53 Uhr

Wen Du die Styles auch schon strukturieren willst, dann würde ich dann eventuell noch ein CSS-Famework wie YAML in Erwägung ziehen.

28.04.2009 - 09:20 Uhr

ObservableCollection<(Of <(T>)>)-Klasse könnte Dir eventuell weiterhelfen.

28.04.2009 - 09:15 Uhr

In statischen Methoden kannst Du auf keien Controls zugreifen.


public void FillListBox(PCAN_2USB.TPCANMsg msg, int retvalue)
        {
            //Listbox löschen
            lbMSG.Items.Clear();

            //Listbox füllen
            lbMSG.Items.Add("return : " + retvalue.ToString() + "h");
            lbMSG.Items.Add("ID     : " + msg.ID.ToString());
            lbMSG.Items.Add("LEN    : " + msg.LEN.ToString());
            lbMSG.Items.Add("MSGTYPE: " + msg.MSGTYPE.ToString());
            for (int i = 0; i < msg.LEN; i++)
            {
                lbMSG.Items.Add("DATA[" + i + "]" + msg.DATA[i].ToString());
            }
        }
28.04.2009 - 09:12 Uhr

Soweit ich dass beurteilen kann läuft die Anwendung wenn sie als XAP (Browser) betrieben wird in einem anderen UserContext.

27.04.2009 - 17:18 Uhr
foreach(Control c in _panPanel1.Controls)
{
    if(c.GetType().Equals(typeof(Radiobutton)){
            RadioButton rb = c as RadioButton;
    if(rb != null) {
        rb.Checked = true;
    }
    }
}

Würd ich jetzt machen.

24.04.2009 - 20:18 Uhr

Wie kann ich Bildmaterial in eine Webseite einbinden und es mit dem Mausrad scrollbar bzw. mit dem Cursor verschiebbar machen?

Wie meinst Du dass? Das Bild soll scrollbar sein? (Dann müsste es ja grösser sein als die Länge /Breite des Browsers).

Reicht dazu ein div oder sonstiger Container, oder muss es ein iframe sein?

Panel würd ich nehmen, da kannst Du, wenn Du sie denn brauchst, die Scrollbars einstellen.

24.04.2009 - 20:15 Uhr

Setz doch mal beide Anwendungen auf folgende Einstellungen zurück:


<body>
    <form id="form2" runat="server" style="height: 100%;">
    <asp:ScriptManager ID="ScriptManager2" runat="server">
        <Scripts>
        </Scripts>
    </asp:ScriptManager>
    <div style="height: 100%; width:50%;">
        <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/LJS.Dashboard.xap"
            MinimumVersion="2.0.31005.0" Width="100%" Height="100%" />
    </div>
    </form>
</body>

24.04.2009 - 20:11 Uhr

Ich nehme an dass der Update Button im gleichen Panel wie die Textboxen mit den neuen Werten sind. Wenn ja würde ich mit einer rekurisven Methode alle Parent Elemente durchsuchen die vom Typ TextBox sind, die Daten in die DB schreiben und fertig. Und wenn das Parent Element vom Typ Panel ist kannst Du die Methode abbrechen lassen, dann solltest Du die Textboxen und deren Werte schon gefunden haben.

23.04.2009 - 16:06 Uhr

Zeig mal die ASP.NET Seite in welcher Du das Silverlight-Control einfügst. Die grösse des Controls und somit auch Deiner Anwendung hängt dann auch mit dem Div, dass um das Control rum ist, zusammen.

23.04.2009 - 10:43 Uhr

Alpha-Einstellung eines Brush's wenn's dieser dann gibt im CF.

23.04.2009 - 10:41 Uhr

Es geht darum, dass du propagierst, HTML über XmlHttpRequest zu transportieren. Und das ist tatsächlich ganz verkehrt.

1. Propagiere ich nicht
2. missionieren wie Du, tu ich gar nicht
3. Die Richtigkeit einer Lösung liegt immer im Auge des Betrachters
4. Frage ich mich wie alt Du bist, denn Dein Tonfall unterscheidet sich ein wenig von den anderen Usern (die PowerUser sind).
23.04.2009 - 10:12 Uhr

Tut mir leid, aber den Tipp halte ich für den schlechtesten, den man geben kann, schaedld.

Ist Ansichtssache, aber ich denke dass Du so oder so bei jedem der einen Tipp gibt Deinen als besseren hinstellen wirst.

HTML per XmlHttpRequest zu übertragen, ist genau genommen nicht einmal AJAX und sollte vermieden werden. Zu übertragen sind die darzustellenden Daten, nicht die Darstellung selbst. Nur, weil es bequemer scheint, würde ich nicht aufhören, Daten und ihre Darstellung zu trennen. Da geb ich Dir recht. Der Threadersteller hat aber ein konkretes Problem zu einen bestehenden Lösung und diese kann oder darf er eventuell aus kostengründen nicht ändern. Daher ist dieser Lösungsansatz nicht ganz verkehrt.

LiteralControl war angesichts der Tatsache, dass da sowieso schon HTML in einer Datenbank steht (???) noch die beste Herangehensweise.

LaTino

C'est le ton qui fait la musique, n'est-ce pas?

23.04.2009 - 07:37 Uhr

Ein Panel, dass, so wie Du es serverseitig einfügst, ergibt dann clientseitig ein div.

23.04.2009 - 06:39 Uhr

Hol Dir den String doch mit AJAX und einer WebMethod aus der Datenbank. Wenn der Return Wert der WebMethod so oder so ein string ist, dann ist dort auch der ganze HTML string enthalten. Diesen kannst Du dann im OnSucceded function des Javascripts als innerHTML einem Div zuweisen (Vorteil, dann hättest Du keinen PostBack).


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Thread.Number70561._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
            <script type="text/javascript" language="javascript">
                function GetGeneratedHtml() {
                    PageMethods.GetHtmlString(onSucceded);
                }

                function onSucceded(result, usercontext, methodname) {
                    var div = document.getElementById('result');
                    div.innerHTML = result;
                }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true">
    </asp:ScriptManager>
    <div id="result" style="background-color: #C0C0C0; border-style: solid; width: 100px; height: 100px" onclick="GetGeneratedHtml();">    
    </div>
    </form>
</body>
</html>

Hier noch die WebMethod. Diese wäre in Deinem Fall ein Zugriff auf die DB und dann den dort ausgelesenen String als Rückgabetyp.


        [WebMethod]
        public static string GetHtmlString() {
            return "<input type=\"button\" id=\"test_button\" value=\"Generierter Button\" />";
        }

23.04.2009 - 06:37 Uhr

            string testString = "myCSharp.de";
            int lengthToCut = 1;

            // Subtraction of the lenght to the current string
            Console.WriteLine("{0}", testString.Substring(0, testString.Length - lengthToCut));

            Console.ReadKey();

21.04.2009 - 07:09 Uhr

Ein weiterer Monopolist neben Microsoft hat das Licht der Welt erblickt :evil:

21.04.2009 - 07:07 Uhr

Und zwar richtet sich der Text des Buttons nach einem Zeilenumbruch am Icon und nicht am Textanfang aus.

Das habe ich auch schon festgestellt und leider sind mir nur 2 Lösungen hierfür bekannt:

1.) Workaround:


    <div>
    <asp:RadioButton ID="RadioButten_Selection" runat="server" style="float:left;" />
    <asp:Label ID="Label_Selection" runat="server" style="float:right;" Text="Servus!

Ich habe ein kleines Schönheitsproblem mit ein paar Radiobuttons.
Und zwar richtet sich der Text des Buttons nach einem Zeilenumbruch am Icon und nicht am Textanfang aus.

Kennt jemand vielleicht eine Attribut, Workaround oder eine andere Lösung für dieses Problem?

Würde mir die Arbeit, ein eigenes Control zu schreiben, gerne ersparen..."></asp:Label>
    </div>

So ist die Darstellung einigermassen gut und man müsste nur noch die Grösse des Radiobutton's anpassen.

  1. ) Eigenes Control schreiben (möchtest Du ja nicht, somit wäre dass nur eine halbe Lösung 😉 )
21.04.2009 - 07:02 Uhr

ich möchte mit ajax eine dropdownliste mit inhalt füllen je nach dem was für eine checkbox selektiert wurde.

Das geht mit WebMethod und JQuery.

Using jQuery to directly call ASP.NET AJAX page methods

wenn ich zwei checkboxe habe chkA und chkB kommen diese szenarien vor:

chkA selektiert dann in die dropdownliste ABC einfügen
chkB selektiert dann in die drodownliste DEF einfügen.

Wenn pro Checkbox eine maximale Anzahl von DropDownlisten vorgesehen ist, dann könntest du diese im Page_Init bereits in die Seite hereinrendern lassen, aber das Visible Property auf false stellen und erst bei der Verwendung diese dann per Javascript sichtbar machen und mit Daten füllen (in Verbindung mit dem oben genannten Link).

20.04.2009 - 10:48 Uhr

Eigentlich verstößt dann mein Ansatz hier gegen die "Sauberkeit" oder und ich sollte statt Invoke in der Methode, nur ein Event feuern welches dann im Form direkt die Controls aktualisiert?

Ein Event abfeuern das vom verarbeitenden GUI Element abonniert wird. INotifyPropertyChanged denke, wäre hier sicherlich nicht verkehrt.

20.04.2009 - 08:33 Uhr

Aufpassen in GridViews mit DataKeys, die können unter Umständen Probleme bereiten! Soweit ich weiss aber nur dann wenn man mehrere DataKeys hat.

18.04.2009 - 13:43 Uhr

Erstelle die Tabelle im Page_Init, dann kannst Du diese im OnLoad auch mit der Grösse ändern, dann ist diese ja bereits in die Seite gerendert worden, sodass das JavaScript deren Grösse verändern kann.

18.04.2009 - 13:41 Uhr

In die Session zu schreiben oder ein Cookie zu erstellen ist ganz legitim.

18.04.2009 - 13:38 Uhr

Css4you eine gute Seite was Design angeht.

18.04.2009 - 13:36 Uhr

Wie kann man den Entwurfsmoduls den sperren? 😃

Wie würde man es denn erzwingen?

Mal abgesehen ich arbeite an einem Ort an dem der Designer der Seiten minimal bis gar keine CSS /HTML /JavaScript Kenntnisse hat und sich diese auch nicht aneignen will.

Ich habe mir angewöhnt eigentlich nur noch im XML der ASPX-Seite alles manuell zu erstellen (Lerneffekt ist gross).

07.04.2009 - 09:21 Uhr

Auf herbivores Vorschlag aufgesetzt:

PersonKlasse


public class Person {

        /// <summary>
        /// Gets or sets the first name.
        /// </summary>
        /// <value>The first name.</value>
        public string FirstName { get; set; }

        /// <summary>
        /// Gets or sets the last name.
        /// </summary>
        /// <value>The last name.</value>
        public string LastName { get; set; }

        /// <summary>
        /// Gets or sets the first name of the and last.
        /// </summary>
        /// <value>The first name of the and last.</value>
        public string FirstAndLastName {
            get {
                return string.Format("{0} {1}", this.FirstName, this.LastName);
            }
        }

        /// <summary>
        /// Gets or sets the age.
        /// </summary>
        /// <value>The age.</value>
        public int Age { get; set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="Person"/> class.
        /// </summary>
        public Person() {
        }
    }

Für die Generierung von Personen habe ich einen PersonDataHelper gemacht dessen statische Methode dann an die Combobox gebunden wird.


    /// <summary>
    /// DataHelper to generate persons.
    /// </summary>
    public static class PersonDataHelper {

        /// <summary>
        /// Gets the persons.
        /// </summary>
        /// <returns></returns>
        public static IList<Person> GetPersons() {
            IList<Person> personen = new List<Person>();

            for(int i = 0; i < 10; i++) {
                personen.Add(new Person(){ FirstName = string.Format("Firstname_{0}", i.ToString()), 
                                           LastName = string.Format("Lastname_{0}", i.ToString()),                                            
                                           Age = i + new Random().Next(5, 99)});
            }

            return personen;
        }
    }

Und hier das Binding an die Combobox


            comboBox1.DataSource = PersonDataHelper.GetPersons();
            comboBox1.DisplayMember = "FirstAndLastName";