tjo,
irgendwie komisch. man kann ja beim typsisierten allowDBNull einstellen 😃. Es gibt aber keinen Konstruktor der diesen Wert erlaubt.
SqlInt32.Null geht auch nicht
leider nicht x-Argument: kann nicht von "System.DBNull" in "int" konvertiert werden...
verwendetes Datenbanksystem: <MS SQL 08>
Wie kann ich denn direkt in ein typisiertes Datarow einen DB-Null-Wert für z.B. einen Integer-Wert einfügen?
FilterDataTable filterTable = new FilterDataTable();
// filterTable.AddFilterRow(int,int);
filterTable.AddFilterRow(DBNull,1); //<<so gehts leider nicht
Ich bin scheinbar zu blöd dafür 😃
kann man auch machen, aber dann muss man ja auch das label als platzhalter oder wie auch immer nutzen. das coole ist halt, dass man dann auch andere eigenschaften dadurch festlegen kann. Tooltip z.B.. Die farbe wird sich wohl kaum zwischen dt und en unterscheiden 😃
Parserfehler
Beschreibung: Fehler beim Verarbeiten einer Resource, die für diese Anforderung erforderlich ist. Überprüfen Sie folgende Fehlerinformationen und ändern Sie die Quelldatei entsprechend.
Parserfehlermeldung: Literale Ausdrücke wie <%$ Resources.period.Text %> sind nicht zulässig. Verwenden Sie stattdessen <asp:Literal runat="server" Text="<%$ Resources.period.Text%>" />.
Quellfehler:
Zeile 34: <%-- Zeitraum--%>
Zeile 35: <asp:Panel ID="filterPanel" runat="server" GroupingText="<%$ Resources:filterPanel.Text %>">
Zeile 36: <p><%$ Resources.period.Text %></p>
Zeile 37: <%= Html.DropDownList("periods")%>
Zeile 38: <asp:Label ID="fromLbl" runat="server" Text="<%$ Resources:from.Text %>" />
ich hab doch noch ein problem:
<p>
<%= Resources.period.Text %></p>
ergibt bei mir folgenden Fehler...
Der Name "Resources" ist im aktuellen Kontext nicht vorhanden.
ich hab auch schon system.resources importiert
ich bin ein ganz schlauer oder :p
besten dank. das dürfte meinen code halbieren 😃
hmm wie kann ich denn den inhalt der Ressource ausgeben ohne Label?
direkt ausgeben ging bei mir glaube ich nicht.
ich werd es erstmal in die Ressource schreiben. Aber die Label-Texte aus der Ressource zu holen ist bei MVC o.k. oder?
wenn ich dann auch anfange die Texte der Präsentation aus dem Controller zu übergeben wird ja arg unübersichtlich...
hmm das ist ein wenig doof... ok, ist wahrscheinlich nicht im konzept vorgesehen von wegen sauber und so 😃. Aber ich benutze MVC und da soll man ja versuchen auf code-behind zu verzichten.
Das ist jetzt mal ne richtig peinliche Frage...aber wie zum teufel verkettet man in asp.net string inline?
nehmen wir an ich hab ein einfaches label und möchte jetzt einach hinter dem Text-Attribut einen Doppelpunkt anfügen...Für mich ist das erstmal recht unlogisch... wenn ich hinter Test="<%xxx%> ;" schreibe überschreibt er mir alles und nur der Doppelpunkt ist zu sehen.
Sorry für die doofe Frage aber ich hab dazu nichts finden können.
<asp:Label ID="filterLbl" runat="server" Text="<%$ Resources:zeitraum.Text %>"></asp:Label>
so langsam bin ich von der mvc-architektur echt begeistert...
ich hab jetzt einfach mal einen versuch mit jquery gewagt.
ich habe eine DropDownListe von Kursen (
Physics
Composition
Poetry
Literature...).
Controller:
SchoolEntities entities = new SchoolEntities();
public ActionResult Index()
{
var courses = new SelectList(entities.Course.ToList(), "CourseID", "Title");
ViewData["Courses"] = courses;
return View();
}
Und die Sicht:
<label for="Courses">
Courses:</label><%= Html.DropDownList("Courses") %>
wenn ich nun einen eintrag auswähle wird eine Aktion im Controller ausgeführt wo die Kurs-ID übergeben wird)
Das wird per JS/ JQuery getan ( _$.getJSON("/Home/GetDepartment", { courseID:value } _):
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#Courses").change(function() {
getData($("#Courses").val());
});
});
function getData(value) {
$.getJSON("/Home/GetDepartment",
{ courseID: value }, // übergabewert
function(data) {
alert(data); //tu was mit den ergebnis
});
}
</script>
Die Aktion im Controller sieht folgendermaßen aus.
public JsonResult GetDepartment(int courseID)
{
String departmentName = (from c in entities.Course
where c.CourseID == courseID
select c.Department.Name).FirstOrDefault();
return Json(departmentName); // Hier wird der Name der Abteilung zurückgegeben
}
Auf Seiten der View wird jetzt das Ergebnis (einfacher String) per Alert ausgegeben. Man könnte natürlich auch eine Liste übergeben oder das Ergebnis in eine zweite DDL einfügen.
Gibt es an diesem Vorgehen kritik oder ist das unelegant?
jetzt hab ich doch nochmal eine Frage. wenn ich z.B. zwei DropDownLists in eine View packe und diese werden über den Controller mit Daten gefüllt, würde ich die eine DDL von der anderen abhängig machen?
Bei den Web-Forms kann man ja die daten binden...?
gibts es in diese richtung irgendwelche tutorials? ich konnte bisher nichts cleveres finden.
super,
ich habs jetzt mit einem css-button gemacht. vielen dank.
<a href="/Link" class="button"><span>Buttonname</span></a>
hi peter,
erstmal danke für deine antwort, das keine events mehr angedacht sind ist ein interessanter ansatz. ich werd da dran bleiben und mich schlau machen.
ich möchte eigentlich nur in meiner seite navigieren. z.b. von about zu home. und anstatt einen hyperlink drücken zu müssen sollte dort ein button existieren. dort soll man einfach raufklicken und die home-seite soll erscheinen.
d.h. über events würde ich das ja dann nicht mehr tun... wie denn dann? kann ich auf ein button direkt einen hyperlink setzen (ohne ein form)?
Hallo,
ich bin gerade am rumbasteln mit MVC, dabei komme ich leider gerade nicht weiter.
Wenn ich einen ActionLink in einer Sicht per Helper erstelle klappt das Routing wunderbar:
<%= Html.ActionLink("Home", "Index", "Home")%>
das ganze möchte ich aber nun so machen, dass bei einem button-klick der link aktiviert wird. Meine erste Frage:
Macht man das per JS-Event?
zweite Frage:
Warum geht das wiefolgt nicht (beim klicken passiert einfach nichts)?
protected void Button1_Click(object sender, EventArgs e)
{
Url.Action("Index", "Home");
}
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
würde mich freuen, wenn mir jemand helfen kann.
Moin moin,
probier mal bitte diesen Code. Ich kann mich dunkel erinnern, dass ich es aus irgendwelchen Gründen nicht mit dem Process gemacht hab.
Process mailto = new Process ( );
mailto.StartInfo.FileName = String.Format ("mailto: {0}?subject={1}&body={2} ", to, subject, GetMaskString (content));
mailto.Start ( );
naja 😉 hätte erwähnen sollen, dass ich natürlich auch das zurücksetzen versucht hatte. der witz ist ja, dass die einträge vorhanden waren nur mehr als doppelt.
neuinstallation von vs hat dieses problem nun umgangen.
Weiß jemand wie sowas passieren kann? Das passiert nur in ASP.net Projekten. Ich habe auch schon sämtliche DLLs entfernt und nur einzelne eingebunden. Auch dort waren redundante Einträge.
ah super, vielen danke.
hallo KeyPressEventArgs kennt keinen value und leider auch keinen modifier.
Hallo,
ich würde gerne die Tastenkombination Strg+F abfangen. Leider weiß ich nicht, wie ich das mit der KeyCharnummer realisieren soll. Kann mir jemand bitte helfen?
private void Frm2_KeyPress(object sender, KeyPressEventArgs e)
{
//das ist falsch
if (e.KeyChar == (char)Keys.ControlKey && e.KeyChar == (char)Keys.F)
{
// do something...
hallo,
ich hab vor einigen tag per java in die db4o geschrieben. mit c# allerdings noch nicht, kannst du mal überprüfen ob das auch die richtige methode zum schreiben ist? bei java wird das mit db.set(new Auto) gemacht.
Code hacken ist jetzt nicht sonderlich anspruchsvoll.
dem würde ich ganz stark widersprechen. es sei denn du möchtest bastelprogrammierung betreiben. reines programmieren brint sowieso nichts, da steckt eben der gesamte enwicklungsprozess mit analyse etc. dahinter. da kann man nicht dadurch lernen indem man die syntax einer sprache kann.
Hallo,
also mein Bruder studiert Wirtschaftsinformatik und dort wird sicher kein VBA gelehrt, sondern schon richtige Hochsprachen. Es ist ja auch die Frage was du später machen möchtest. Wenn ich das richtig verstanden habe ist der Wirtschaftsinformatiker das Bindeglied zwischen Infomatikern und ihren Auftraggebern in der Wirtschafts. Das heißt aber nicht, dass der Wirtschaftsinformatiker keine Ahnung von Informatik hat. Bei meinem Bruder ist zumindest das nicht der Fall. Von der Arbeitsplatzsituation hatte ich die letzte Zeit das gefühl das gerade Wirtschaftsinformatiker gesucht werden. Vielleicht kann ja jemand etwas dazu sagen der Wirtschaftsinformatik fertig studiert hat und in Arbeit ist 😃?
das hört sich ja genial an, werd ich gleich mal probieren.
vielen dank. Die klassen des .net's sind doch unergründlich 😃
nachtrag. das ist ne super klasse wie ich finde. haben eben auf meinem singlecore 10 mio strings eingefügt. das frame war noch relativ gut "ansprechbar". realisiert mit bindingnavigator:
public partial class Form1 : Form
{
List<String> list;
BindingList<String> bl;
public Form1()
{
InitializeComponent();
list = new List<string>();
bl = new BindingList<string>(list);
bs.DataSource = bl;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "", true));
}
private void BindData()
{
for (int i = 0; i < 10000000; i++)
{
list.Add("Test" + i);
}
this.label1.Invoke(new MethodInvoker(SetBS));
}
private void SetBS()
{
this.progressBar1.Visible = false;
bl.ResetBindings();
}
private void Form1_Load(object sender, EventArgs e)
{
new Thread(BindData).Start();
}
}
besten dank für den tipp.
Hallo,
folgenes Problem.
Ich habe ein Steuerelement(listbox), das Daten aus der Bindingsource anzeigt. Da meine Applikation durch die vielzahl der Daten etwas hängt wollte ich dies in einem seperatem Thread realisieren.
Erste Frage: macht dies sinn oder geht es auch eleganter?
Leider scheint mein hauptthread aber nicht mitzubekommen, dass schon sämtliche Daten in der Bindingsource geladen sind und die listbox zeigt weiterhin nichts an.
Hat jemand eine Idee wie ich das realisieren kann?
wenn ich manuell
listbox.datasource=null;
listbox.datasource=bs;
schreibe gehts
public partial class Form1 : Form
{
private BindingSource bs = new BindingSource();
private Thread thread;
public Form1()
{
InitializeComponent();
this.listBox1.DataSource = bs;
ThreadStart ts = new ThreadStart(BindData);
thread = new Thread(ts);
thread.Start();
}
private void BindData()
{
using (Entities entities = new Entities())
{
bs.DataSource = from f in entities.Firma
select new { f.ID, f.Name };
Console.WriteLine("Fertig");
}
}
}
Hallo,
Warum suchst du nicht per LiNQ?
ich habe nun das EDM in den gleichen Projektordner (was ich eigentlich nicht möchte) gelegt. Jetzt kommt dieser Fehler nicht mehr jedoch bekomme ich folgende Exception:
CommunicationException:
Das maximale Nachrichtengrößenkontingent für eingehende Nachrichten (65536) wurde überschritten. Verwenden Sie die MaxReceivedMessageSize-Eigenschaft für das entsprechende Bindungselement, um das Kontingent zu erhöhen.
Das macht für mich überhaupt keinen Sinn hier die MessageSize zu erhöhen, da ich ja eine Serialisierung haben möchte. hat jemand eine Idee?
kann es auch sein, dass eine methode hier explizit als serialisierbar gesetzt werden muss ( ist z.b. in java so). informationen darüber sind nicht gerade sehr einfach zu finden.
Hallo,
ich bastel gerade an einer mehrschichtigen Architektur. Dafür soll ein WCF - Dienst die Daten für die darüberliegende Schicht bereitstellen. Meine Daten sind mit dem Entity Framework gemappt. Die Klasse "Firma" ist dort z.B. so eine Entität.
Wenn ich allerdings versuche eine Instanz von Firma über den Dienst zu holen kommt es zu einer Ausnahme in der partiellen Klasse vom EntityModell:
Die angegebene benannte Verbindung wurde entweder nicht in der Konfiguration gefunden, ist nicht für die Verwendung mit dem EntityClient-Anbieter gedacht oder ist ungültig.
hier der Code von der Stelle
public VBEntities() : base("name=VBEntities", "VBEntities")
{
this.OnContextCreated();
}
hier der clientseitige Aufruf:
VBService.ServiceClient proxy = new VBService.ServiceClient();
Firma[] firmen = proxy.GetFirmen();
Das übertragen von anderen Klassen, welche nicht per EntityFramework gemappt wurden funktioniert anstandslos.
Hat jemand eine Idee, woran das liegen kann? Scheinbar werden noch die mappinginformationen auf der Clientseitge benötigt. Mein Verständnis ist dort noch sehr rudimentär.
das wäre nicht schlecht, weil man so in einer art ne syncronisation erreichen würde
verwendetes Datenbanksystem: <SQL-Server-Express 2008>
Hallo,
erstmal muss ich sagen, dass ich total Begeistert bin, wie einfach das Entity-Framework in der Bedienung ist. Mir fehlt hier allerdings der Vergleich zu anderen ORMs. Ich habe aus meinem Datenbankprojekt das Mapping automatisch erstellen lassen. Dies klappt auch super. Wenn ich in der Datenbank eine neue Tabelle erstelle, kann ich ohne Probleme das Mapping aktualisieren...
Ist es hier auch möglich diesen Weg in umgekehrter Richtung durchzuführen?
Also aus dem Mapping Model die Datenbank zu aktualisieren?
Wie gesagt, ich teste bisher relativ kurz mit dem Framework rum.
na wenn der speicher voll ist, wird alles andere auf die festplatte umgelagert.
In SQL Server 2000 und in SQL Server 2005 enthält jede Datenbank mindestens eine Datendatei und eine Transaktionsprotokolldatei. SQL Server speichert die Daten physisch in der Datendatei. Die Transaktionsprotokolldatei speichert die Details aller Änderungen, die Sie an Ihrer SQL Server-Datenbank durchführen, sowie die Details der Transaktionen, die jede Änderung durchführten. Da die Transaktionsintegrität als grundlegendes und integriertes Merkmal von SQL Server angesehen wird, kann die Protokollierung der Details der Transaktionen in SQL Server nicht deaktiviert werden. Link
ich denke mal, dies ist bei jeder datenbank ähnlich
also bei uns (msssql-server) hatten wir mit großen transaktionen (mehrere gb-datenvolumen) keine probleme. das transaktionsprotokoll muss halt auf die platte passen. vielleicht kennt jemand anderes probleme in diesem zusammenhang? würde mich auch interessieren.
dann hast du es aber alleine hinbekommen 😃
konnte ja nicht wirklich helfen. dann viel erfolg
an dem oberen code kann dies eigentlich nicht liegen
was passiert denn im event? hast du vielleicht noch mehr code?
also so richtig kann ich leider nicht folgen. wenn du nur die höchste id haben möchtest würde ich dies so tun.
SELECT guid, MAX(history_id)
FROM table
GROUP BY guid
wahrscheinlich hab ich dich aber nicht richtig verstanden
in einigen programmen wurde diese problematik ja schon gelöst, allerdings weiß ich nicht, ob das mit .net passiert ist.
ich will immernoch eine selektionsbox implementieren.
also ich möchte steuerelemente selektieren können. diese sollen dann farbig markiert werden. dazu wollte ich eigentlich das panel über das augewählte steuerelement legen und darauf zeichnen. der rest sollte dann eigentlich durchsichtig sein. das ist ja echt ein mist.
erstmal danke für den link.
ich hab jetzt mal das panel erweitert, komischerweise wird es einfach nicht durchlässig.
dazu habe ich das eingefügt.
SetStyle (ControlStyles.SupportsTransparentBackColor, true);
this.BackColor = Color.Transparent;
ich habe einen button unter das panel gelegt, den man leider nicht sieht.
Hallo,
hat jemand eine idee, wie ich es hinbekomme, dass ein panel in einer farbe durchsichtig wird? hintergrund ist, dass ich etwas zeichnen möchte, dass alles andere im form überlagert. dafür soll das panel an oberster stelle im form sein und nur das gezeichnete sichtbar sein.
Gibt es auch eine Funktion wo das Element keinen Focus haben muss? Ansonsten muss man dazu wohl den Hit-testen oder?
wie es eben so ist, hab ich een kurz nach eröffnen des Threads einen Weg gefunden.
es geht über "PreviewKeyDown"
Hallo,
Weiß jemand, wie man auf eini Tastendruck reagiert, wenn die Maus über einem Panel ist? Key-Events hat das Panel leider nicht. Ich möchte mit drücken der Shift-Taste den Cursor über dem Panel ändern.
Es würde auch reichen, wenn ich generell bei einem Tastendruck (also global) reagiere. Gibts da eine Funktion für?
also mein workaround sieht folgendermaßen aus.
Auswahl der Elemente:
1.ich werde ein rubber-band-Rechteck implementieren, um Controls zu markieren
rubber-band-rechteck
über die Methode ControlPaint.DrawReversibleFrame(...)
analog wird dies auch per Mausklick möglich sein.
ich bekomme meine verschiedenen controls dynamisch und möchte diese ja dann mit der eigenschaft "markierbar" versehen. wie stell ich denn das am besten an? ich kann ja keine eigene klasse schreiben und das control-element über den konstruktor übergeben oder wie? kommt mir zumindest unelegant vor.