Hallo,
und zwar habe ich ein DataGridView, was mit Werten aus einem DataTable gefüllt ist. Alle Felder im DataGridView sind Textboxen. Nun möchte ich zur Laufzeit eine bestimmte Spalte in Comboboxen (also DataGridviewTextBoxCell in DataGridviewComboBoxCell) ändern. Oder kann ich nicht einfach im Load-Event des DataGridViews den Typ für eine Spalte angeben? also ich möchte das nicht im Designer einstellen, sondern per code, weil halt das DataGridView vorher mit dem DataTable gebunden wird.
Für Ratschläge wäre ich sehr dankbar.
Die Lösung zu diesem Problem habe ich hier gefunden.
Die MSDN-Dokumentation zu Request.UserHostAddress und Request.ServerVariables["REMOTE_ADDR"] sollte dringend überarbeitet werden ...
Genau, Control.Invalidate() und Control.Update() waren gemeint, statt Form1_Paint direkt aufzurufen, quasi dadurch das Paint-Ereignis durch die Form selbst erzeugen lassen.
Hey Leute,
Habe da ein problem mit dem "maintainscrollpositiononpostback".
Und zwar ist es so, dass ich auf einer Seite IsoAjaxTabStrip & IsoAjaxMultiPage verwende.
Ich füge dan 2 tabs hinzu, eines der beiden arbeitet mit telerik.webcontrols.
Leider wurde mir dort anfangs keine scrollbar angezeigt wenn dies nötig gewesen wäre.
Somit habe ich im codebehind mit PageView ein overflow:auto hinzugefügt.
Nun wird die scrollbar zwar angezeigt, allerdings funktioniert der "maintainscrollpositiononpostback" nichtmehr.
Weiss da zufällig wer woran das das liegen kann?
Gruss,
JCarlson
Das kann das Standard-TreeView (leider) nicht.
Evtl. müßtest du auf eine andere TreeView-Implementation z.B. http://www.codeproject.com/KB/tree/treeviewadv.aspx umsteigen (die jeweils aktuellste Version gibt es unter http://sourceforge.net/projects/treeviewadv )
Firefighter schrieb:
@Dravere: Mach halt bitte was.
Das beste was gemacht werden kann: Ihr ignoriert blurry333. Solange ihr das Faultier füttert, kommt es immer wieder hierher.
Grüssli
Du wirst ja sicherlich DataTemplates für dein Datagrid haben. Dann schreibst du dir Converter die genau dann die Spalte auf Readonly oder hidden setzt wenn das dein Model bestimmt.
Eine Frage hab ich noch: Wie kann ich eine Spalte der DataTable in der Grid unsichtbar machen?
Edit: Ich habs mal in einen eigenen Thread geschrieben... Passt hier nicht rein: http://www.c-plusplus.net/forum/p2033534#2033534
In C# 4.0 gäbe es noch die Möglichkeit dynamic zu verwenden.
public static Matrix<T> operator*(Matrix<T> a, Matrix<T> b)
{
// ...
dynamic lhs = a[z, y];
dynamic rhs = b[x, z];
result[x, y] += lhs * rhs;
// ...
}
Man sollte sich allerdings durchaus ein paar Fragen im Hintergrund behalten, was die Performance anbelangt, da erst zur Laufzeit geprüft wird, ob diese Operationen möglich sind. Wie gut die CLR dies optimieren kann, ist mir nicht bekannt. Auch beherbergt es natürlich die Gefahr, dass Kompilerfehler in Laufzeitfehler umgewandelt werden.
Grüssli
Servus,
du kannst in deiner Klasse einen Thread basteln, der zyklisch die Messages aus der WindowsMessageLoop herausholt und kontrolliert. Ist aber unnötige Arbeit, denn deine eigentliche Form horscht eh ständig auf Windows Messages ohne das du auch nur eine Zeile Code schreiben musst.
Deswegen gib der aufzurufenden Methode das Handle deiner Mainform oder eines Dialogs. Dann überschreibst du, wie schon µ gesagt gat, die WndProc und fängst deine Nachricht ab.
Bsp:
protected override void WndProc(ref Message m)
{
switch ( m.Msg )
{
case 0xFF02:
Trace.WriteLine(System.Runtime.InteropServices.Marshal.PtrToStringAnsi(m.LParam));
break;
}
base.WndProc(ref m);
}
0xFF02 ist in dem Fall der Nachrichtenidentifier. Ich habe es genutzt um den in "LParam" enthaltenen string zu tracen.
gruß
Hellsgore
Hallo,
ich möchte mich für eure freundliche Unterstützung bedanken!
Ganz besonders "Mr XYZ32".
Theoretisch gesehen sollte ich deine Schuhe jahrelang plank polieren!
Vielen vielen Dank! Dein Code habe ich mir angepasst und er funktioniert bestens!!!
Mit freundlich Grüßen,
TheDavinciKarl.
Du kannst ganz einfach mittels Foreach durch die Rows iterieren und dir die Spalten holen.
In deiner Schleife gehst du übrigens immer die erste Zeile durch und holst deren Spalten...
Hier beispielhaft das Relevante:
imgStream.Close();
HtmlImage img = new HtmlImage();
img.Alt = "Bild nicht verfügbar";
img.Height = 200;
img.Width = 200;
img.Src = imgLocation;
div.Controls.Add(img);
Der div im html dazu:
<div id="m_divMap" runat="server"></div>