Laden...
I
ingemar myCSharp.de - Member
Software Entwickler Kärntnafornia, aber in Wien lebend ;) Dabei seit 21.10.2005 194 Beiträge
Benutzerbeschreibung

Forenbeiträge von ingemar Ingesamt 194 Beiträge

07.09.2012 - 10:41 Uhr

ist eine akzeptable lösung...auch mit addons die doch einige anforderungen abdecken:

http://www.longtailvideo.com/players/

grüße

05.09.2012 - 12:33 Uhr

Hi,

ich wollte mal fragen welche guten video player controls ihr so verwendet und ob es einen gibt der eine umfassende client api bietet wie zb. video rückwärts laufen lassen oder video zu einem bestimmten zeitpunkt starten bzw. stoppen usw.

vielen dank!

grüße

16.02.2012 - 09:53 Uhr

guten morgen!

also zusammengefasst bedeutet das für mich, dass weder nested noch flat zu 100% anwendung finden...ich persönlich finde die zusammengefassten best practices von winsharp sehr gut!

grüße,
ingemar

15.02.2012 - 13:37 Uhr

hmm...unter einer Solution sollte es nur mehr einen Ordner pro Projekt geben, da gebe ich dir vollkommen Recht. Ich dachte bei "nested" eher an ein Java angelehntes Prinzip, nämlich das die Ordnerstruktur den Namespace wiederspiegelt, was ich aber auch nur zum Teil machen würde. Somit trifft die Aussage auch auf mich zu: Ich neste die flat Variante hehe

15.02.2012 - 13:30 Uhr

So hätte ich mir das auch gedacht, es bleibt übersichtlich und man sollte sich schnell und einfach zurecht finden. Meiner persönlichen Meinung nach bevorzugst du dann aber eher die "nested" Methode, oder nicht? Die "flat" Methode würde alle Solutions in ein Verzeichnis werfen und nur die Projekte in einzelne Ordner geben...Auf jeden Fall vielen Dank für die ausführliche Antwort!

15.02.2012 - 10:38 Uhr

hallo winsharp93!

wenn du also ein framework aufsetzen würdest, dann hättest du auch pro logischer gruppierung wie zb. system, ui usw. eine eigene solution in einem verzeichnis und darunter dann die projekte? vielleicht ist diese frage etwas trivial... Da ein framework aber etwas bestehendes ist und hoffentlich auch viele jahre lebt, ziemlich sicher auch in zukunft von anderen programmieren weiterentwickelt wird, bin ich einfach mal auf die "best practices" gespannt!

15.02.2012 - 09:30 Uhr

hallo leute,

bei uns im team ist eine interessante frage aufgetreten:

Namespaces and folder structures in c# solutions: how should folders on disk be organised?

und daher dachte ich mir, ich frag mal so in die runde wie ihr neue projekte aufsetzt. interessant wird es natürlich bei großen projekten wie zb. beim entwickeln eines frameworks...

vielen dank und lg

07.07.2011 - 09:29 Uhr

Hallo,

so wie ich das jetzt verstehe, möchtest du einfach clientseitig per Javascript das Property deines Custom Controls "txtQuantity" auslesen, oder? der customvalidator spielt dabei aber nur zufällig eine rolle, daher stimmt der titel nicht ganz 😉

ich würde mir mal folgendes ansehen:
http://msdn.microsoft.com/en-us/library/bb386450.aspx
http://www.asp.net/ajaxlibrary/act_contribute_codingStandards_Design.ashx

Stichwort: Ajax Server Control

Lg ingemar

27.06.2011 - 14:12 Uhr

hallo,

zum thema lokales abspeichern von daten auf mobilen endgeräten, kann ich dir vistadb empfehlen. http://www.vistadb.net/
kostet zwar was, bietet dafür aber auch einiges 😉
ich musste auch mal eine applikation für barcodelaser schreiben, da haben wir vistadb verwendet. außerdem lag die db auf einer speicherkarte, damit auch ja nichts verloren geht...

grüße,
ingemar

20.06.2011 - 09:39 Uhr

hallo,

hast du schon mal das project file mit deinem xml editor aufgemacht und die referenzen kontrolliert? ich denke, das würde ich als erstes versuchen...

lg ingemar

20.06.2011 - 09:06 Uhr

hallo,

dein virtuelles verzeichnis verweist ja auf ein physikalisches verzeichnis, hast du da auch die berechtigungen richtig gesetzt?

lg ingemar

17.06.2011 - 15:06 Uhr

Hi,

ok, und dein Javascript Code soll jedesmal aufgerufen werden: $(document).ready(function()....
nicht nur bei den partial postbacks? ich denke, deine überschrift hat mich etwas verwirrt, denn du führst ja keinen Javascript Code in deinem UpdatePanel aus, der PartialPostback der durch dein UpdatePanel erzeugt wird, triggert deine $(document).ready(function()....

Wichtig ist das es funktioniert 😉

Lg ingemar

17.06.2011 - 13:24 Uhr

Hallo OldSchool,

freut mich, dass es jetzt funktioniert! Trotzdem möchte ich wissen, warum du das UpdatePanel brauchst, immerhin wird am Server ja nichts gerendert, oder? Ist das nicht ein reines Javasript Control?

Lg Ingemar

17.06.2011 - 11:21 Uhr

ich weiß jetzt nicht genau ob ich damit richtig liege 😉 aber brauchst du überhaupt das update panel? kannst du nicht einfach den onclientclick event des asp buttons verwenden um deine javascript methode aufzurufen?

lg ingemar

16.06.2011 - 09:16 Uhr

hallo,

ich weiß, dass es mit dem asp updatepanel in verbindung mit zyklischen aktualisieren zu memory leaks kommt. ich hatte zb. die aufgabe ein grid alle 10 sekunden zu aktualisieren. gelöst hatte ich das mit dem asp updatepanel einem clientseitigen timercontrol und serverside databinding für das grid. leider resultierte daraus ein memory problem. nachdem ich das updatepanel entfernt und die aktualisierung über webservices + clientseitigem databinding implementiert hatte, war nicht nur das memory problem vergangenheit, auch die performance war viel viel besser 😉 leider muss ich dir mitteilen, dass ich damals keine andere, schnellere lösung im internet gefunden habe...

vielleicht hilft der link etwas:

AJAX UpdatePanel Memory Leaks in IE

lg ingemar

16.06.2011 - 08:42 Uhr

hi,

ich hab dir mal schnell eine möglich lösung geschrieben, da eine erklärung wahrscheinlich etwas aufwendiger gewesen wäre. es ist mit sicherheit nicht die eleganteste lösung 😉 aber es funktioniert. mach dir eine funktion daraus, welche einen datatable als parameter bekommt und diesen sortiert (bis auf die letzte zeile) zurückgibt.



using System;
using System.Threading;
using System.Data;
using System.Xml;
using System.Collections.Generic;
 
namespace Snippet
{
  /// <summary>
  /// MainApp startup class for Real-World
  /// </summary>
  public class MainApp
  {
    /// <summary>
    /// Entry point into console application.
    /// </summary>
    public static void Main()
    {
     	DataTable dummy = GetDummy();
     	
     	//remember the summary row
     	DataRow summaryRow = dummy.Rows[dummy.Rows.Count -1];
     	
     	//show the dummy rows (unsorted)
     	Console.WriteLine("Dummy DataTable: ");
     	Console.WriteLine("--------------------------------------------");
     	
     	foreach(DataRow row in dummy.Rows)
    	{
    		Console.WriteLine(string.Format("Id: {0} /t Name: {1} /t SortExpr: {2}",row[0], row[1], row[2]));
    	}
     	
     	//create a temporary list, necessary for sorting
     	var dummyAsList = new List<DataRow>(dummy.Rows.Count -1);

		//sort all rows, except the last one. because it's the summary row
		for(int i = 0; i < dummy.Rows.Count -1; i++)
		{
     		dummyAsList.Add(dummy.Rows[i]);
     	}
     	    
    	dummyAsList.Sort(SimulateSort);
    	
    	//clone the unsorted dummy datatable structure
    	var dtToBind = dummy.Clone();
    	
    	//add the sorted rows to the cloned datatable
    	dummyAsList.ForEach(r => dtToBind.ImportRow(r));
    	
    	//add the summary row
    	dtToBind.ImportRow(summaryRow);
    	
    	//show the sorted rows + the summary row
    	Console.WriteLine("");
    	Console.WriteLine("Sorted DataTable");
    	Console.WriteLine("--------------------------------------------");
    	
    	foreach(DataRow row in dtToBind.Rows)
    	{
    		Console.WriteLine(string.Format("Id: {0} /t Name: {1} /t SortExpr: {2}",row[0], row[1], row[2]));
    	}
    	
    	//code cleanup
    	dummy = null;
    	dummyAsList = null;
    	dtToBind = null;
    	
    	Console.ReadKey();
    }
    
    private static int SimulateSort(DataRow x, DataRow y)
    {
    if (x == null)
        {
            if (y == null)
            {
                // If x is null and y is null, they're
                // equal. 
                return 0;
            }
            else
            {
                // If x is null and y is not null, y
                // is greater. 
                return -1;
            }
        }
        else
        {
            // If x is not null...
            if (y == null)
                // ...and y is null, x is greater.
            {
                return 1;
            }
            else
            {
            	//compare
            	var sortExprA = Convert.ToInt16(x[2]);
            	var sortExprB = Convert.ToInt16(y[2]);
            	
                 if(sortExprA < sortExprB)
                 {
                 	return 1;
                 }
                 else if(sortExprA > sortExprB)
                 {
                 	 return -1;
                 }
                 else
                 {
                  	return 0;
                 }
            }
    	}
    }
    
    private static DataTable GetDummy()
    {
    	var dt = new DataTable();
     	
     	dt.Columns.Add(new DataColumn("Id"));
     	dt.Columns.Add(new DataColumn("Name"));
     	dt.Columns.Add(new DataColumn("SortExpression"));
     	
     	int summary = 0;
     	
     	for(int i = 0; i < 10; i++)
     	{
     		var row = dt.NewRow();
     		
     		if(i == 9)
     		{
     			//last row => summary!
     			row[0] = i;
	     		row[1] = string.Format("Summary: {0}",i+1);
	     		row[2] = summary;
     		}
     		else
     		{
	     		row[0] = i;
	     		row[1] = string.Format("Name: {0}",i+1);
	     		var random = new Random().Next(3,10000);
	     		row[2] = random;
	     		Thread.Sleep(100);
	     		
	     		summary += summary + random;
     		}
     		dt.Rows.Add(row);
     	}
     	
     	return dt;
    }
    
  }
}


hoffentlich konnte ich dir helfen!

lg ingemar

15.04.2011 - 08:36 Uhr

guten morgen,

yep, genau das wollte ich realisieren und klappt jetzt auch sehr gut! Während des downloads habe ich ja im downloaddialog den Fortschrittsbalken, da benötige ich eigentlich nichts mehr.
vielen dank für das kompliment 😃

grüße, ingemar

14.04.2011 - 17:06 Uhr

hi,

es funktioniert 😃

im callback kann ich bei erfolg über:

function initializeRequest() {

                // Create an IFRAME.
                var iframe = document.createElement("iframe");

                // Point the IFRAME to GenerateFile, with the
                //   desired region as a querystring argument.
                iframe.src = "DownloadHandler.ashx";

                // This makes the IFRAME invisible to the user.
                iframe.style.display = "none";

                // Add the IFRAME to the page.  This will trigger
                //a request to GenerateFile now.
                document.body.appendChild(iframe);
            }

den download triggern 😃

wünsche einen schönen feierabend!

lg ingemar

14.04.2011 - 16:22 Uhr

hi,

es ist eine nicht ganz so einfache webanwendung 😉 der webserver kommuniziert über wcf mit dem businesslogic server, welcher wieder eine verbindung zu anderen softwareeinheiten hat. ich trigger also von der webseite aus den download, der webserver fragt über wcf den businessserver nach dem file und lädt es. genau für diesen zeitraum brauch ich das loading panel...ich versuch das jetzt mal mit dem webservice.

lg ingemar

14.04.2011 - 16:10 Uhr

hi,

tja, das dachte ich mir bereits. das problem ist folgendes: der benutzer klickt auf den link und ich rufe den ashx handler auf, übergebe ein paar parameter und hole mir über eine wcf facade das file. dieser facaden call kann etwas länger dauern und für diesen zeitraum möchte ich ein loading panel anzeigen, damit der user auch weiß, das was passiert...vielleicht lade ich über einen webservice das file nach dem klick auf den linkbutton und da hätte ich auch einen callback...aber wie rufe ich dann den ashx handler auf? hmm

vielen dank erstmal!

lg ingemar

14.04.2011 - 12:12 Uhr

hallo,

ich rufe über einen linkbutton einen ashx handler auf und biete dadurch files zum download an. im onclientclick des linkbutton erzeuge ich javascript seitig ein loadingpanel. wie bekomme ich jetzt aber mit, dass der handler fertig wurde, damit ich das loadingpanel wieder verstecken kann?

vielen dank!

28.03.2011 - 09:52 Uhr

hallo,

da es anscheinend an deiner validierung liegt, wäre es interessant diese mal zu sehen 😉

grüsse

25.03.2011 - 15:30 Uhr

hi,

ich denke, ich weiß jetzt was du möchtest. versuch mal den javascript code zu debuggen und schau ob deine validierung wirklich so lange braucht. wenn du meine einfache page hernimmst, funktioniert es wunderbar. status 1 wird gesetzt und 1 sekunde später ändert sich dieser auf status 2.

so, ich muss jetzt los! schönes we und viel erfolg!

25.03.2011 - 15:20 Uhr

versuch immer "return false" zu verwenden! du selbst wirst den rückgabewert ja nicht weiterverwenden 😉 mehr dazu: http://stackoverflow.com/questions/683746/how-to-disable-postback-on-an-asp-button

setTimeout habe ich nur verwendet um deinen zeitlichen ablauf irgendwie nachzustellen...

grüsse

25.03.2011 - 15:09 Uhr

hi,

ich schätze, du brauchst ein "return false;" in deiner validate methode. ansonsten wird ein postback abgefeuert.


<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="scriptMngr1" runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/jquery-1.5.js" />
        </Scripts>
    </asp:ScriptManager>
    <div>
        <asp:LinkButton ID="btnSave" OnClientClick="return Validate();" runat="server" Text="click me"
            meta:resourcekey="btnSave"></asp:LinkButton>
        <div id="status">
        </div>
    </div>

    <script language="javascript" type="text/javascript">

        function Validate() {

            $('#status').text('Seite wird auf Fehler überprüft.');

            //Viele Abfragen und Überprüfungen welche bis 10 Sekunden dauern können
            //Ausserdem setzen von isValid und Markierungen im GUI mit .css(...) von Jquery

            setTimeout("setStatus(true)", 1000);

            return false;
        }

        function setStatus(isValid) {

            if (isValid)
                $('#status').text('Änderungen werden jetzt gespeichert.');
            else
                $('#status').text('Es sind Validationsfehler aufgetreten.');      
        }
    
    </script>

    </form>
</body>

24.03.2011 - 16:22 Uhr

versuch mal die ID des dynamisch erzeugten controls zu setzen...uc.ID = "...";
hoffe das hilft 😉

grüsse

16.03.2011 - 15:36 Uhr

hi,

ich habe ein wirklich tolles tutorial gefunden:

http://rmencia.wordpress.com/category/net/ajax/

mit beispielcode zum downloaden!

grüsse,
ingemar

10.03.2011 - 13:38 Uhr

hallo,

dann poste ich mal meinen code:

namespace AjaxServerControl1
{
    /// <summary>
    /// Summary description for ServerControl1
    /// </summary>
    public class ServerControl1 : ScriptControl
    {
        public string Name { get; set; }
        public ServerControl1()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        protected override IEnumerable<ScriptDescriptor>
                GetScriptDescriptors()
        {
            ScriptControlDescriptor descriptor = new ScriptControlDescriptor("AjaxServerControl1.ClientControl1", this.ClientID);
            descriptor.AddProperty("name", this.Name);
            yield return descriptor;
        }

        // Generate the script reference
        protected override IEnumerable<ScriptReference>
                GetScriptReferences()
        {
            yield return new ScriptReference("AjaxServerControl1.ClientControl1.js", this.GetType().Assembly.FullName);
        }

    }
}
/// <reference name="MicrosoftAjax.js"/>


Type.registerNamespace("AjaxServerControl1");

AjaxServerControl1.ClientControl1 = function(element) {
    AjaxServerControl1.ClientControl1.initializeBase(this, [element]);

    this._name = "";
}

AjaxServerControl1.ClientControl1.prototype = {
    initialize: function() {
        AjaxServerControl1.ClientControl1.callBaseMethod(this, 'initialize');

        // Add custom initialization here
    },
    dispose: function() {
        //Add custom dispose actions here
        AjaxServerControl1.ClientControl1.callBaseMethod(this, 'dispose');
    },

    get_name: function() {
        return this._name;
    },

    set_name: function(value) {
        if (this._name !== value) {
            this._name = value;
            this.raisePropertyChanged('name');
        }
    }
}
AjaxServerControl1.ClientControl1.registerClass('AjaxServerControl1.ClientControl1', Sys.UI.Control);

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AJAXWebForm.aspx.cs" Inherits="WebApplication1.AJAXWebForm" %>

<%@ Register TagPrefix="asc" Namespace="AjaxServerControl1" Assembly="AjaxServerControl1" %>
<!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">

        function pageLoad() {
            var c = $find("<%=serverControl1.ClientID %>");
            c.set_name("test name set");
        }

        function onclientClick() {
            //wird nicht verwendent im moment
            var c = $find("<%=serverControl1.ClientID %>");
            alert(c.get_name());
            return false;
        }
    
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
    </div>
    <div>
        <asc:ServerControl1 ID="serverControl1" runat="server" />
    </div>
    <div>
        <asp:Button ID="btnTest" runat="server" Text="Test" onclick="OnBtnClick"/>
    </div>
    </form>
</body>
</html>

und im onclick event am server bekomme ich nicht "test name set" sondern null...

danke für deine hilfe!

10.03.2011 - 13:28 Uhr

hallo leute,

ich spiele mich gerade mit einem selbst gebastelten einfachen ajax server control. die vorlage aus visual studio macht ja eh schon das meiste, aber ich wollte mal ein einfaches property dem control hinzufügen. es funktioniert alles wunderbar, außer das der wert den ich clientseitig dem property zuweise, nach einem postback, serverseitig verloren geht.

danke und lg
ingemar

10.12.2010 - 11:04 Uhr

problem gelöst! eigentlich eh ganz einfach wenn man weiß wie 😉


var usersArray = null;
if (users.value != "") {
    var tmp = users.value.split(", ");
    usersArray = new Array()

    for (i = 0; i < tmp.length; i++) {

         var user = tmp[i].replace("\\", "\\\\");
         usersArray.push(user);
     }
}

damit kann der jsonconverter arbeiten und ich erhalte den richtigen string value für die db abfrage.

10.12.2010 - 09:45 Uhr

vielen dank für eure antworten!

ich bin jetzt gerade am probieren, bekomme es aber nicht zum laufen mit dem HttpUtility methoden. denn das deserialisieren des JSON strings zu einem .net objekt schlägt weiterhin fehl. ich habe ein array mit user einträgen und ein beispiel eintrag wäre domäne\p..., am server erhalte ich dann domäne\p als string und daher funktioniert das deserialisieren nicht. ich verwende newtonsoft zum deserialisieren des strings in ein .net objekt.

lg
ingemar

09.12.2010 - 16:53 Uhr

hallo,

ich habe folgendes problem beim serialisieren eines jsonobjekts bekomme ich zb. für einen string der asdf\p... heißt asdf\p zurück, was dann beim deserialisieren am server zu einer exception führt. bin jetzt schon lange auf der suche nach einer lösung und bin auf JSON.parse + JSON.stringify gestoßen. das problem ist jetzt, wie setze ich diese zwei methoden richtig ein und ist es überhaupt ein richtiger lösungsansatz?

vielen dank!

14.09.2010 - 09:13 Uhr

hi,

danke für die antwort...ich konnte das problem lösen: wir benutzen den ajaxmanager von telerik und er besitzt eine collection von controls welche das update triggern, darunter natürlich auch die timer 😃

grüße,
ingemar

10.09.2010 - 16:20 Uhr

hallo,

ich müßte alle timer clientseitig im javascript code finden und stopen.

leider finde ich diese nicht, da der typ immer undefined ist!?

for (var j = 0; j < document.forms.length; j++) {
                    var elem = document.forms[j].elements;
                    var str = "";
                    for (var i = 0; i < elem.length; i++) {
                        str += "<b>Type:</b>" + elem[i].type + "&nbsp&nbsp";
                        str += "<b>Name:</b>" + elem[i].name + "&nbsp;&nbsp;";
                        str += "<b>Value:</b><i>" + elem[i].value + "</i>&nbsp;&nbsp;";
                        str += "<BR>";
                    }
                }

ich habe eine masterpage welche einen timer besitzt und auch die abgeleiteten pages verwenden zum teil timer, ich möchte nun clientseitig alle timer in einer funktion stoppen. ist das möglich?

thanx!

30.06.2010 - 09:17 Uhr

thanx!

wünsche einen erkenntnisreichen tag 😉

29.06.2010 - 11:25 Uhr

hallo,

vielen dank für die vielen antworten...folgende lösung wird jetzt ziemlich sicher akzeptiert: eigener algorithmus zum einsortieren der controls in spalten, danach wir für jede spalte ein best-fit area algorithmus aufgerufn und die controls darin werden bestmöglich aufgeteilt...somit bleibt es auch optisch ansprechend!

lg ingemar

28.06.2010 - 13:12 Uhr

ja, ein control kann so ca. max. 4 bis 5 zustände annehmen...bin gerade dabei ein selbst erdachtes layouting zu implementieren: ich sortiere die controls mal nach der breite, erstelle 3 spalten => 1 spalte hat die breite des größten controls, 2 spalte zweitgrößte control, 3 spalte den rest des containercontrols. danach befülle ich die 3 spalten mit den restlichen controls und blase die controls in der breite wenn nötig auf. mal schaun wie's wird 😃

28.06.2010 - 11:55 Uhr

danke für die neuen antworten, hatte ich leider übersehen 😉 es können zwischen 1 und 7 controls sein. diese controls haben aber auch nicht immer dieselbe größe...also jedes control kann sich je nach gesetzten eigenschaften unterschiedlich in höhe und breite zeichnen.

lg ingemar

28.06.2010 - 11:51 Uhr

hallo herbivore,

jetzt, nachdem ich etwas getestet habe, merke ich erst, dass die algorithmen doch meist die beste raumaufteilung nützen, nur sieht das für's auge nicht immer sehr ansprechend aus...

ingemar

28.06.2010 - 10:30 Uhr

hallo herbivore,

ich habe eine sehr hilfreiche seite gefunden:

http://www.devx.com/dotnet/Article/36005/0/page/2#codeitemarea

die lösungen sind sehr performant, bieten aber keine optimale lösung, da sich mit freiem auge immer eine bessere lösung finden lässt...

lg ingemar

25.06.2010 - 16:37 Uhr

naja, funktioniert so halbwegs...werde mich ab montag wieder damit beschäftigen 😉

wünsch euch ein schönes und erkenntnisreiches we!

25.06.2010 - 16:10 Uhr

hi,

danke für die antworten. es sind alles von mir erzeugte "containercontrols", welche vom groupbox control ableiten und somit alle, bis auf die größe, gleich aussehen. ich versuch es jetzt mal mit dem arevalor algorithmus...poste später ob's funktioniert hat!

25.06.2010 - 14:51 Uhr

hallo leute,

folgendes problem: ich muss ein panel dynamisch mit controls befüllen, welche unterschiedlich groß sein können. ich möchte das panel natürlich bestmöglich nutzen und das ganze optisch ansprechend halten.

ich dachte mir, ich sortiere mal die controls nach der größe und schau dann weiter...bin für jeden tipp dankbar!!

13.04.2010 - 10:45 Uhr

bekommst du überhaupt daten aus der db im report oder werden nur die combos nicht befüllt? gibt es bedingungen für die combos?

12.04.2010 - 09:16 Uhr

beinhalten die comboboxen daten aus einer db od. manuell eingetragene werte? ich würde mal das sql welches den report befüllt testen...

09.04.2010 - 16:49 Uhr

hi,

hatte vergessen die lösung zu posten:

ListLabelDomTableFieldDrawing df = new ListLabelDomTableFieldDrawing(fields);
            
df.Name = ColumnName;
//zeigt auf ein System.Drawing.Bitmap Objekt
df.Contents = string.Format("{0}.{1}", this.Table.TableName, this.ColumnName);

funktioniert ganz ohne Drawing() od. Drawing$()...darauf muss man erst mal kommen, die dokumentation von list & labels könnte von mir sein hahaha

wünsch ein schönes we!

09.04.2010 - 14:44 Uhr

yep, bin nach längerem rumtüffteln auch drauf gekommen. leider schaffe ich es im moment nur mit der pfadangabe, aber noch nicht mit einem Bitmap objekt...die formel müßte so aussehen Drawing$(Bitmap)

09.04.2010 - 11:34 Uhr

hi,

ich bin sehr neu in list & labels und muss sagen, die hilfe bzw. die mitgelieferten codebeispiele sind leider etwas unzureichend...

also ich möchte ein einfaches datagridview in einem report zur vorschau zur verfügung stellen. soweit auch kein problem, nur bei images weiß ich jetzt nicht weiter!

den typ habe ich bereits gefunden: ListLabelDomTableFieldDrawing

die property "Content" gehört mit einem string befüllt, wie was genau wird aber nicht beschrieben!

vielen dank für eure hilfe!