Laden...

Forenbeiträge von Campy Ingesamt 439 Beiträge

29.10.2012 - 09:35 Uhr

verwendetes Datenbanksystem: MSSQL 2008

Hallo zusammen,

ich erstelle von einem Report von uns jede Woche einen Snapshot damit man auch auf die Daten der Vergangenheit zugreifen kann.

Nun würde ich gerne einen neuen Report erstellen der die Daten der letzten 6 Snapshots vergleicht (evtl. mit Grafik oder nur mit Spalten).
Leider konnte ich noch keine Möglichkeit finden mit dem Report Builder oder Visual Studio auf das Ergebnis der Snapshot Daten zuzugreifen.

Ich hoffe bei diesem Punkt könnt Ihr mir helfen!

Viele Dank
Campy

23.10.2012 - 11:56 Uhr

Hallo DeNico,

da Silverlight clientseitig in deinem Browser ausgeführt wird, würde es natürlich auch keinen Sinn machen von der SL App direkt E-Mails versenden zu können.

Wo genau liegt dein Problem? Silverlight im Zusammenhang mit Webservices?

Viele Grüße
Campy

04.10.2012 - 13:53 Uhr

Hallo gfoidl,

gibt es noch eine bessere Lösung als im spezifischen Repository die GetAll() zu überschreiben bzw. eine andere Methode zu machen:


public IList<Post> GetAll()
    {
        var query = this.DbSet.Include(...);

        return query.ToList();
    }

Danke und viele Grüße
Campy

02.10.2012 - 16:01 Uhr

Da hast du natürlich auch Recht 😉 Sorry!

Vielen Dank nochmal für die Hilfe!

02.10.2012 - 15:49 Uhr

Hallo KroaX,

vielen Dank 😃 das wusste ich jedoch bereits.

@gfoidl: Wie machst du das mit deinem Repository 😉

Gruß
Campy

02.10.2012 - 00:23 Uhr

Hallo gfoidl,

du hattest Recht!!! Ich bin echt überglücklich 😃

Das ist nicht weiter schlimm, da bei der Übertragung per WCF Lazy-Loading ohnehin keinen Sinn macht und die "related entities" immer explizit geladen werden müssen.

Wie du eh schon erwähnst werden die Navigation Properties nun nicht geladen. Muss ich die manuell includen? (mit .include() ??).

Wie gesagt, ich hatte bis jetzt immer mit DTOs gearbeitet, da sind diese Hürden nie aufgetreten (Was nicht heißen soll, dass ich die DTOs besser fand 😉)

Vielen Dank!!!!
Campy

01.10.2012 - 22:09 Uhr

Hallo,

auch nach dem erneuten Aufbau der Applikation kommt wieder der gleiche Fehler .. ich weiß absolut nicht was ich falsch mache. Ich habe schon mehrere Dienste mit WCF in dieser Konstellation umgesetzt. Eben nur mit dem Unterschied, dass ich sonst immer DTOs verwendet habe ..

Gruß
Campy

01.10.2012 - 19:19 Uhr

Hallo gfoidl,

ich erstelle die Domain mit den Entities noch einmal neu.
Ich habe bereits eine Testmethode im Repository angelegt (GetStrings() siehe oben) und über den Service bis hin zum Client funktioniert diese.

Ich gebe dann gerne Bescheid obs funktioniert 😃

Gruß
Campy

01.10.2012 - 18:42 Uhr

Hallo gfoidl,

es funktioniert leider auch dann noch immer nicht. LazyLoading ist beim Context in den Properties aktiviert. Den Code habe ich nun auf folgendes geändert:


[ServiceContract]
    public interface IBlogService
    {
        [OperationContract]
        IList<Post> GetAllPosts();

        [OperationContract]
        List<string> GetStrings();

    }

public class BlogService : IBlogService
    {
        public List<Domain.Post> GetAllPosts()
        {
            IPostRepository postRepository = new PostRepository();
            
            return postRepository.GetAll().ToList();
        }


        public List<string> GetStrings()
        {
            IPostRepository postRepository = new PostRepository();

            return postRepository.GetStrings();
        }
    }


Gruß
Campy

01.10.2012 - 10:58 Uhr

Hallo gfoidl,

hier die entsprechenden Codeausschnitte. Falls ich noch mehr posten soll einfach Bescheid geben bitte:

 public class BlogService : IBlogService
    {
        public IEnumerable<Domain.Post> GetAllPosts()
        {
            IPostRepository postRepository = new PostRepository();
            
            return postRepository.GetAll();
        }


        public List<string> GetStrings()
        {
            IPostRepository postRepository = new PostRepository();

            return postRepository.GetStrings();
        }
    }
 public class PostRepository : Repository<Post>, IPostRepository
    {
        public PostRepository()
            : base(new BlogEntities1())
        {
        }

        public override IEnumerable<Post> GetAll()
        {
            return base.GetAll();
        }

        public List<string> GetStrings()
        {
            List<string> lst = new List<string>();
            lst.Add("test1");
            lst.Add("test2");
            return lst;
        }
    }

Das Repository sollte dir eh bekannt vorkommen 😉

    public abstract class Repository<T> : IRepository<T> where T : class
    {
        private readonly IUnitOfWork _uow;
        protected IUnitOfWork UnitOfWork
        {
            get { return _uow; }
        }
        //---------------------------------------------------------------------
        protected IDbSet<T> DbSet
        {
            get { return _uow.GetSet<T>(); }
        }
        //---------------------------------------------------------------------
        protected Repository(IUnitOfWork uow)
        {
            if (uow == null)
                throw new ArgumentException();
            //-----------------------------------------------------------------
            _uow = uow;
        }
        //---------------------------------------------------------------------
        #region IRepository<T> Members
        public virtual T GetById(params object[] keyValues)
        {
            return this.DbSet.Find(keyValues);
        }
        //---------------------------------------------------------------------
        public virtual T Add(T entity)
        {
            T obj = this.DbSet.Add(entity);
            _uow.SetEntryState<T>(entity, System.Data.EntityState.Added);
            this.OnEntityAdded(obj);
            return obj;
        }
        //---------------------------------------------------------------------
        public virtual T Update(T entity)
        {
            T obj = this.DbSet.Attach(entity);
            _uow.SetEntryState<T>(entity, System.Data.EntityState.Modified);
            return obj;
        }
        //---------------------------------------------------------------------
        public virtual T Delete(T entity)
        {
            T obj = this.DbSet.Remove(entity);
            this.OnEntityDeleted(obj);
            return obj;
        }
        //---------------------------------------------------------------------
        public virtual IEnumerable<T> GetAll()
        {
            return this.DbSet;
        }
        //---------------------------------------------------------------------
        public event EventHandler<RepositoryEventArgs<T>> EntityAdded;
        protected virtual void OnEntityAdded(T entity)
        {
            //this.EntityAdded.Fire(this, new RepositoryEventArgs<T>(entity));
        }
        //---------------------------------------------------------------------
        public event EventHandler<RepositoryEventArgs<T>> EntityDeleted;
        protected virtual void OnEntityDeleted(T entity)
        {
            //this.EntityDeleted.Fire(this, new RepositoryEventArgs<T>(entity));
        }
        #endregion
    }


    public partial class BlogEntities1 : IUnitOfWork
    {
        public IDbSet<T> GetSet<T>() where T : class
        {
            return this.Set<T>();
        }

        public void SetEntryState<T>(T entity, System.Data.EntityState state) where T : class
        {
            Entry<T>(entity).State = state;
        }

        public int Commit()
        {
            return this.SaveChanges();
        }
    }

Clientseitig verwende ich selbst erstellte Serviceproxies (Siehe Snippet-Forum 😉).

public class BlogServiceClient : ProxyBase<IBlogServiceClient>, IBlogService
    {
        public BlogServiceClient(string endpointConfigurationName)
            : base(endpointConfigurationName)
        {
        }

        public IEnumerable<Post> GetAllPosts()
        {
            return this.Proxy.GetAllPosts();
        }


        public List<string> GetStrings()
        {
            return this.Proxy.GetStrings();
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            using (BlogServiceClient clt = new BlogServiceClient("NetTcpBinding_IService"))
            {
                foreach (Post p in clt.GetAllPosts().ToList())
                    Console.WriteLine(p.Subject);
            }
            Console.ReadKey();
        }
    }

Viele Grüße
Campy

27.09.2012 - 13:44 Uhr

Hallo Abt,

ich habe bereits alles nach oben gesetzt:

<netTcpBinding>
        <binding name="NetTcpBinding_ERPService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288" maxBufferSize="6553600" maxConnections="10" maxReceivedMessageSize="6553600">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
          <security mode="None">
            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
            <message clientCredentialType="Windows"/>
          </security>
        </binding>

Der DataAccess Vorgang findet auch am Service statt, und das Ergebnis wird zurück an den Client gegeben, dieser schmeißt dann aber die Exception.

Gruß
Campy

27.09.2012 - 11:25 Uhr

Hallo zusammen,

ich versuche gerade, wozu mir auch in anderen Threads geraten wurde, eine Testanwendung mit EF4.x Pocos und einem WCF Service zu verwenden.

Dazu habe ich 2 Entities:

  • Post
  • Category

Füge ich Anfangs nur Post zu den Entities hinzu und übertrage die Liste an den Client funktioniert alles. Sobald Category mit ins Spiel kommt stürzt der Client mit einer CommunicationException kurz vor Erhalt der Daten vom service ab.> Fehlermeldung:

The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:59.9599999'.

Ich weiß echt nicht mehr was ich falsch mache ... Diagramm im Anhang 😉

Gruß
Campy

26.09.2012 - 19:57 Uhr

Hallo Abt,

habe ich auch schon überlegt, dass es wohl das beste wäre.
Mein Problem ist, dass ich einen EFModelAdapter verwende um Table Prefixe zur Laufzeit zu setzen (Mehrmandantenfähigkeit): http://efmodeladapter.codeplex.com/

Gruß
Campy

26.09.2012 - 16:54 Uhr

verwendetes Datenbanksystem: SQL 2008R2 + EF 4.x

Hallo zusammen,

ich lasse mir mit dem Poco Generator für EF 4.x meine Poco Objekte erstellen.
Bei den DBSets habe ich ja die Lokal Eigenschaft zur Verfügung. Leider ist das bei den Navigation Proberties nicht der Fall. Zusätzlich möchte ich keinen Konstruktor in der erstellten Poco Klasse, diesen erstelle ich in einer eigenen Partial Class.

public partial class Category
    {
        public Category()
        {
            this.Posts = new HashSet<Post>();
        }
    
        public System.Guid ID { get; set; }
        public string Name { get; set; }
    
        public virtual ICollection<Post> Posts { get; set; }
    }

Vielen Dank für Eure Hilfe!
Campy

26.09.2012 - 08:39 Uhr

Hallo gfoidl,

den Fehler hab ich schon bemerkt 😉.
Habe die Context Klasse jetzt partial und diese implementiert das Interface IUnitOfWork.

Ich gehe davon aus, dass ich

 return this.Set<T>();

durch ein ObjectSet ersetzen muss?

Die isDirty Eigenschaft funktioniert natürlich nicht, da

this.ChangeTracker

nicht vorhanden ist.

Wie sieht denn die Verwendung im Repository danach aus?
Ich meine, man braucht doch sicherlich irgendwo noch die Attach Logik für Objekte die vom Client kommen und eine Update Logik?

BTW:
Ist uow.NotNull(() => uow); eine Extension Method?

Viele Grüße
Campy

25.09.2012 - 23:02 Uhr

Hallo gfoidl,

steh ich aufm Schlauch oder funktioniert das so nur mit Code First?
ich verwende Database first 😦

Kann ich das entsprechend umbauen?
Wenn ja kannst du mir dafür nen Tipp geben?

Vielen Dank
Campy

25.09.2012 - 19:21 Uhr

Hallo gfoidl,

ich hatte auf die Unit of Work Klasse abgezielt 😉

Gruß
Campy

25.09.2012 - 17:12 Uhr

Hallo gfoidl,

dessen bin ich mir bewusst. Entschuldigung für den falschen Post.

Könntest du mir noch einen Artikel oder ein Beispiel für den DB Zugriff mit EF geben?

Danke und viele Grüße
Campy

25.09.2012 - 15:38 Uhr

Hallo gfoidl,

ich denke ich blicke schon ein wenig bei deinem Code durch.
Mit ContractClasses habe ich noch nie gearbeitet, würdest du mir diese und den EF spezifischen Teil evtl. auch noch posten?

Vielen Dank!
Campy

25.09.2012 - 15:05 Uhr

Hallo Abt,

vielen Dank! Ich muss diese Basisklasse allerdings noch um die Attach Logik erweitern. Ich hoffe das funktioniert dann soweit.

@All:
-Kann man die EntityCollection durch eine ObservableCollection ersetzen?
-Leider habe ich in den Dokus nichts zum Thema Validierung der Eingaben finden können. Gibt es dazu noch einen Artikel?

Vielen Dank für Eure Hilfe!!!

25.09.2012 - 14:38 Uhr

Hallo gfoidl,

alles klar - ich werde mir die Doku gleich mal durchlesen!
Ich hoffe ich darf mich mit weiteren Fragen hier an dich wenden?

BTW: Hättest du evtl. eine Repository Basis-Klasse die du veröffentlichen würdest?

Jep ist mir auch schon aufgefallen vorhin

Gruß
Campy

25.09.2012 - 14:27 Uhr

Hallo gfoidl,

funktioniert folgendes auch mit den POCOs:

Wie ist die Vorgehensweise?

  • Domain.dll mit der EDMX Datei für Client und Server?
  • Wie hänge ich die Objekte die vom Server (zurück)kommen wieder an den Context?

Ich weiß das sind einige Fragen, aber es wäre echt sehr nett wenn du mir helfen könntest das so umzusetzen? Wenn ich dazu die 2 oben beschriebenen Probleme "wegbekomme" und keine Nachteile habe setz ich es sofort so um.

Vielen vielen Dank!

25.09.2012 - 13:46 Uhr

verwendetes Datenbanksystem: MSSQL 2008

Hallo zusammen,

ich habe mir für die Verwendung von EF Self Tracking Entities folgende BasisRepository Klasse geschrieben:


public interface IBaseRepository<T>
    {
        void Add(T entity);
        void Update(T entity);
        void Delete(T entity);
        List<T> GetAll();
    }

    public abstract class BaseRepository<T> : IBaseRepository<T> where T : class
    {
        string constr = SKSSHelper.GetConnectionString("");

        protected IObjectSet<T> _objectSet;
        protected SKSEntities _context;

        public BaseRepository(string clientName)
        {
            _context = new SKSEntities(...);
            _objectSet = _context.CreateObjectSet<T>();
        }

        public abstract List<T> GetAll();
        public abstract T Update(T entity);

        public void Add(T entity)
        {
            _objectSet.AddObject(entity);
            _context.SaveChanges();
        }

        public void Delete(T entity)
        {
            _objectSet.DeleteObject(entity);
            _context.SaveChanges();
        }

        public void Update(string entityName, object entity)
        {
            if (entity is IObjectWithChangeTracker)
            {
                _context.ApplyChanges(entityName, (IObjectWithChangeTracker)entity);
                _context.SaveChanges();
            }
            else
            {
                throw new ArgumentException("entity must implement IObjectWithChangeTracker to use applyChanges");
            }
        }
    }

Diese Klasse erlaubt es schon relativ einfach für ein Objekt ein Repository zu erstellen. Sobald ich das ObjectSet allerdings mit T erstelle, habe ich für das ObjectSet keine Methode "ApplyChanges" mehr zur Verfügung (Dieste steht nur bei _context.CreateObjectSet<Object>(); zur Verfügung.

Das zweite "Problem" ist, dass Self Tracking Entities kein Lazy Loading unterstützen und ich mich daher für diese beiden Probleme mit folgenden Hilfsmethoden behelfen muss:

public class CustomerRepository : BaseRepository<Customer>, ICustomerRepository
    {
        public CustomerRepository(string clientName)
            : base(clientName)
        {
        }

        public override List<Customer> GetAll()
        {
            return base._context.Customers
                .Include("BankAccounts")
                .Include("ContactPersons")
                .ToList();
        }

        public override Customer Update(Customer entity)
        {
            base.Update("Customers", entity);
            return entity;
        }
    }

Ich hoffe jemand hat da schon mehr Erfahrung und kann das ganze noch entsprechend verbessern. Natürlich würde ich es dann fertig in den Snippets zur Verfügung stellen.

Vielen Dank!

25.09.2012 - 10:04 Uhr

Hallo zusammen,

ich habe mir STEs in letzter Zeit genau angeschaut und getestet.
Es funktioniert alles bis jetzt wie ich es möchte, der einzige Nachteil ist, dass Lazy Loading nicht funktioniert und man alle Navigation Properties manuell angeben muss (Include("")). Hat jemand von Euch dafür einen Workaround? Bei google habe ich nichts gefunden. Danke!

25.09.2012 - 08:45 Uhr

Hallo zusammen,

ich habe mir in letzter Zeit einige MVVM Frameworks wie Prism etwas näher angeschaut. Jedoch wollte ich Euch Fragen welches für meine Anforderungen wohl am besten geeignet ist, bevor ich mich ins Detail einlese.

  • Daten kommen über WCF Proxies
  • Undo / Redo Framework
  • ViewModel Templates

Evtl. gibt es auch noch mehr zu beachten, und ich habe in der Liste etwas vergessen?

Vielen Dank für Eure Hilfe!
Campy

19.09.2012 - 15:36 Uhr

Hallo Abt,
Hallo gfoidl,

ich werde mir beides mal anschauen.
Der Grund für meine Frage ist, dass ich mich hauptsächlich auf BL konzentrieren möchte und nicht soviel Aufwand mit dem Mapping betreiben möchte, was gerade bei größeren Anwendungen sehr kompliziert werden kann (wie ich leider erfahren musste).

Danke!

19.09.2012 - 09:03 Uhr

Alles klar!
Also STEs in Verbindung mit ViewModels!
Was verwendet man hier am besten fürs Mapping?

Ich weiß ich habe viele Fragen und bis jetzt hab ich es immer mit Automapper gemacht, aber ich will auch mal von anderen hören ob man das nicht besser lösen kann.

19.09.2012 - 08:31 Uhr

Hallo,

in diesem Fall habe ich einen WCF Service und eine WPF Anwendung mit einem net.tcp Binding. Bis jetzt mappe ich die Entities mit Automapper auf Domain Objekte.

19.09.2012 - 08:15 Uhr

Oh entschuldige bitte!
Verwendest du für die Kommunikation vom Service zum Client dann DTOs und mappst diese wiederum auf ViewModels?

18.09.2012 - 23:19 Uhr

Hallo Abt,

genau aus diesen Gründen gefällt mir nicht, wie es jetzt ist.
Macht es Sinn mit SelfTracking Entities zu arbeiten (wobei ich gelesen habe, dass MS hiervon auch schon abratet)?

Hast du evtl. ein gutes aussagekräftiges Beispiel für mich? Vielen Dank!
Campy

18.09.2012 - 22:28 Uhr

Hallo zusammen,

momentan verwende ich in meiner n-Tier Applikation EntityFramework im Zusammenhang mit Automapper und arbeite dann im BusinessLayer mit Domain Objekten.

Da mir das Mapping zum Teil Probleme bereitet (EF Objekte vom Context detatched etc. ), ihr kennt das sicherlich, wollte ich Fragen was ihr für diesen Zweck so verwendet und ob es dazu sehr gute Beispiele gibt?

Vielen Dank!
Campy

12.09.2012 - 14:33 Uhr

Hallo zusammen,

ich habe bei einem Kunden einen Report im Einsatz der monatlich erstellt und per E-Mail an Mitarbeiter verschickt wird. Zusätzlich generiere ich am letzten Tag jeden Monats einen Snapshot und hebe nur die letzten 6 Snapshots auf.

Meine Frage ist nun, wie ich in einem Übersichtsbericht die Daten (z.B. Lagerbestände) der letzten 6 Snapshots gegenüberstellen kann um Trends zu erkennen.

Ich hoffe ihr könnt mir weiterhelfen.

Viele Grüße
Campy

30.07.2012 - 13:57 Uhr

Schon das simple MicroModel kann dir auch für Listen ein ViewModel erstellen.

Ja schon, aber das bringt mich ja bei meiner Problematik mit Undo / Redo nicht weiter?!

30.07.2012 - 12:31 Uhr

Hallo FZelle,

ich verwende momentan einen Momento, allerdings kommt der nur mit simplen Datentypen der Properties zurecht, nicht aber mit List<> 😦
Gibt es für dieses Problem Abhilfe oder muss ich einen Redo / Undo Manager verwenden? Wenn ja, gibt es Empfehlungen?

Vielen Dank
Campy

29.07.2012 - 11:54 Uhr

Hallo FZelle,

ich habe die TransactionScope bis jetzt nur im Zusammenhang mit dem EntityFramework verwendet.

Kannst du mir sagen, was ich für meine eigenen Objekte implementieren muss damit das funktioniert?

Vielen Dank!
Campy

25.07.2012 - 15:17 Uhr

Hallo zusammen,

ich bin gerade an der Weiterentwicklung der alten Software, für die ich das Momento-Muster eingesetzt hatte.

Wie von Coder007 angesprochen, stehe ich nun wirklich vor dem Problem, dass an dem Objekt eine Liste "hängt" die auch im Bearbeitungsfenster bearbeitet werden kann.

Ich habe es dann mit einer TransactionScope versucht, leider klappt dies nicht:


using (TransactionScope transaction = new TransactionScope())
                {
                    var vm = new ViewModel.ViewModel(base.Services, this.SelectedItem);
                    var vw = new ViewView(vm);


                    ModalDialogService.Service.Show(vw, vm, p =>
                    {
                        try
                        {
                            if (vm.WindowResult)
                            {

                                using (base.Services.svc= base.Services.svcClientFactory.Create())
                                {
                                    base.Services.svc.Save(vm.Item);
                                    transaction.Complete();
                                }

                            }
                        }
                        catch (FaultException<myException> fault)
                        {
                        }
                        catch (Exception ex)
                        {
                        }
                    });
                }

Ich hoffe ihr könnt mir weiterhelfen! Danke!

09.07.2012 - 11:49 Uhr

Hallo bredator,

ich habe mir TOCR nun mal im Zusammenhang ohne handschriftlicher Dokumente angeschaut und bin mit dem Ergebnis sehr zufrieden.

Hast du auch mit ankreuzbaren Feldern oder ähnlichem gearbeitet?
Leider habe ich noch nicht herausgefunden wie das funktioniert und ob es funktioniert.

Vielen Dank!

06.07.2012 - 13:10 Uhr

Hallo herbivore,

vielen Dank für deine ausführliche Antwort.

Wir sind nun zu dem Entschluss gekommen, auch vorgedruckte Formulare zu verwenden auf dem dann nur noch die Optionen angekreuzt werden müssen.

Dennoch wäre ich dankbar für gute Produkte die sich bei einen von Euch bewährt haben. Den preislichen Aspekt kann man erstmal außen vor lassen aber ich denke für <2000 - 3000€ wird sich schon was finden?

Gruß
Campy

04.07.2012 - 11:28 Uhr

Hallo zusammen,

mit handschriftlich ausgefüllten Formularen kommt aber auch TOCR nicht wirklich gut zurecht (Getestet mit dem Viewer der Demo).

Gibt es nicht noch andere OCR C# Libraries? Sie dürfen auch etwas mehr kosten solange ich es vorher über eine Trial probieren kann.

Vielen Dank!

02.07.2012 - 18:39 Uhr

Ich habe mal noch einen Screenshot angefertigt.
Auf diesem ist das Problem zu erkennen. in der Kopfzeile befindet sich das Plus für die Zeile darunter und somit sind die Pluszeichen um eine Zeile nach oben verschoben ..

Vielen Dank!

02.07.2012 - 14:47 Uhr

Hallo zusammen,

ich habe einen MSSQL Report erstellt, mit dem sich Zeilen aufklappen lassen.
Exportiert man diesen nun nach Excel, hat man auf der Linken Seite "+" Buttons mit denen man in Excel die Zeilen aufklappen kann.

Leider befindet sich das erste "+" Zeichen bei meinen Reports neben der Headerzeile und ganz am Ende natürlich keine. Die "+" Zeichen sind also um eine Reihe nach oben verschoben.

Hatte jemand von Euch schon einmal dieses Problem bzw. weiß wie man es lösen kann?

Vielen Dank!

02.07.2012 - 11:44 Uhr

Hallo bredator,

vielen Dank! Ich werde mir das mal genauer anschauen.
Kostentechnisch ist der Preis von TOCR kein Problem.

Viele Grüße
Campy

02.07.2012 - 11:34 Uhr

Hallo trib,

die Idee ist nicht schlecht nur haben die Mitarbeiter des Kunden nicht immer ein Handy dabei (Baubranche).

Die Mitarbeiter sollen nach wie vor die Zettel abgeben und diese will ich dann auswerten. Wäre es Möglich Tablets oder ähnliches an die Mitarbeiter / Baustellen zu verteilen hätte ich das Problem natürlich nicht 😉.

Noch keiner mit einer kostenlosen OCR Software gearbeitet?

Viele Grüße
Campy

30.06.2012 - 18:13 Uhr

Hallo Hellfire76,

das mit den Kästchen und Druckbuchstaben ist ein super Tipp und auf jeden Fall auch für den Kunden machbar.

Die manuelle Korrektur der Eingaben ist so auch geplant aber ich denke, dass die Zeitersparnis enorm ist.

Viele Dank!
Campy

30.06.2012 - 16:42 Uhr

Hallo zusammen,

ein Kunde von uns gibt an seine Mitarbeiter ausgedruckte Vorlagen aus, die dann handschriftlich ausgefüllt werden (Zahlen + Ankreuzen und evtl. Text).

Diese Dokumente werden dann ausgefüllt in der Zentrale abgegeben und per Hand ins Programm übernommen.

Meine Frage an Euch ist nun, ob OCR schon soweit ist dies zuverlässig auswerten zu können (Kontrolliert kann das ganze ja dann manuell noch werden) und welche Library zu empfehlen wäre.

Vielen Dank!
Campy

19.05.2012 - 16:51 Uhr

Hallo,

leider stehe ich immer noch vor dem gleichen Problem.
Folgende Anforderungen stelle ich an die Komponente:

  • Reportdefinition in DB gespeichert (funktioniert bereits)
  • 1 Standardservice der Ergebnisse von Queries zurückgibt.
  • Die Query soll direkt in der Reportdefinition oder in einer zusätzlichen Spalte in der DB gespeichert werden.
  • Die Parameter der Query sollen geändert werden können
  • Ich verwende List&Label, Entity Framework und Automapper um die EF Objekte auf meine DTO zu mappen.

Ich hoffe es kann mir jemand von Euch weiter helfen oder Ansätze liefern. Vielen Dank!!!

16.05.2012 - 08:43 Uhr

Hallo talla,

sorry, meinte natürlich das DataGrid(hab es jetzt editiert).
Alles klar! Vielen Dank!

15.05.2012 - 21:37 Uhr

Hallo zusammen,

leider habe ich zu dem Thema nicht wirklich eine gute Beschreibung gefunden.
Wie setzt man in WPF MVVM am besten Inline Editing eines DataGrids um?
Hoffe ich könnt mir weiter helfen. Vielen Dank!

14.05.2012 - 12:09 Uhr

Hallo Khalid,

EventToCommand verwende ich bereits und würde sich deswegen anbieten.
Leider haben TreeViewItems kein Click Event ..

11.05.2012 - 18:09 Uhr

Hallo zusammen,

ich bin auf der Suche nach einer TreeView Navigation mit einem Command Property.
Das ganze soll eine Menüstruktur wie folgt ergeben:
-Hauptpunkt
- Menüpunkt1
- Menüpunkt2

Gibt es so etwas schon?

Vielen Dank
Campy