
bigpoint
Mitglieder-
Gesamte Inhalte
1243 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von bigpoint
-
Noch zwei Probleme: 1 in meinem Programm habe ich auch Möglichkeit das der Benutzer durch ein Toolbar zum ersten letzten usw. Datensatz in Control List geht und der als aktiv markiert wird. Es funk ( fast ) nur die Spalte die ich beim Programmstart oder durch anklicken aktiv mache bleibt auch angezeigt also blau ;-( so mache ich es: void lalaView::OnBenutzerFirst() { GetDocument()->MoveFirst(); // List Control Spalte aktiviren m_Grid.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED); UpdateData(FALSE); } also wenn ich mein progi starte dann welle ich irgend eine spalte dann will durch Toolbar zu erste wider zurück und das Resultat es werden beide Spalten angezeigt also erste und die die ich angeklickt habe sollte nur erste ;-(( 2 ich habe auch eine Funktion Löschen die löscht den Datensatz in DB funk auch super plus nur den Datensatz wird weiter in List Control angezeigt also in DB ist gelöscht in List Control sichtbar ;-( habe es so versucht zu lösen m_Grid.UpdateData(FALSE);
-
Weis jemand wie kann ich die Daten von Betriebssystem auslesen in besonderen Paßwort und LoginName
-
Mache ich auch, also ich habe mich falsch ausgedruckt es ist so ich habe eine Methode in die ich das List Control mit Daten fühle sieht so aus: void lalaView::LoadCListCtrl() { //Zeiger auf die Datensatzklasse CCustomRs* pRs; // Zeiger auf Dokumentobjekt holen pRs = GetDocument()->GetRecSet(); //Columns in CListCtrl Deklarieren m_Grid.InsertColumn(0, "BenutzerID", LVCFMT_LEFT, 120); m_Grid.InsertColumn(1, "Loginname", LVCFMT_CENTER, 80); m_Grid.InsertColumn(2, "Vorname", LVCFMT_LEFT, 120); m_Grid.InsertColumn(3, "Nachname", LVCFMT_LEFT, 100); m_Grid.InsertColumn(4, "Standort", LVCFMT_RIGHT, 80); m_Grid.InsertColumn(5, "Telefon", LVCFMT_CENTER, 100); m_Grid.SetExtendedStyle(m_Grid.GetExtendedStyle() | LVS_EX_FULLROWSELECT); //CListCtrl mit Daten fühlen while(!GetDocument()->m_pRs->EndOfFile){ // Umwandlung int in CString strBenutzerID.Format( "%i", pRs->m_BenutzerID ); strStatus.Format( "%i", pRs->m_Status); strErstelldatum.Format("%d", pRs->m_dtErstelldatum); strLetzteAend.Format("%d",pRs->m_dtLetzteAend); strLetzterLogin.Format("%d",pRs->m_dtLetzterLogin); strPWGueltigBis.Format("%d",pRs->m_dtPWGueltigBis); int nItem = m_Grid.InsertItem(0, strBenutzerID); m_Grid.SetItemText(nItem, 1, m_strLoginname); m_Grid.SetItemText(nItem, 2, m_strFirstName); m_Grid.SetItemText(nItem, 3, m_strLastName); m_Grid.SetItemText(nItem, 4, m_strStandort); m_Grid.SetItemText(nItem, 5, m_strPhone); GetDocument()->m_pRs->MoveNext(); RefreshBoundData(); } ModifyStyle(NULL, LVS_REPORT, 0); m_Grid.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED); } und in OnInitialUpdate abrufe sollte funktionieren oder ?? Leider ist es nicht der Fall ;-((( Da aber noch eine Frage zu while schleife die fühlt zwar das List Control mit Daten aber die BenutzerID ist Abwärts sortiert dh stat 12345 54321 ich vermute es liegt an int nItem = m_Grid.InsertItem(0, strBenutzerID); bin mir aber nicht sicher
-
also in OnInitialUpdate() sind keine Items eingetragen trotzdem wenn ich es da versuche abzurufen funk nicht brauche ich vieleich Update oder so ?
-
Nach was jetzt versuche ich es so machen das bei starten des Programms der erste Satz in ClistCtr angezeigt wird dann mache ich so: m_Grid.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED|LVIS_FOCUSED); und zwar das habe ich schon sowohl in der Methode OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult) als in OnInitialUpdate() machen. Der Effekt ist so das erst beim einklicken wird der erste Satz aktiv und somit ist er auch immer aktiv dh. wenn ich andere Felder klicke bleibt er aktiv
-
:uli Vielen Dank
-
Kein Problem ich habe nur gedacht es gibt irgendeine Methode von MFC die das einfach für mich erledigt ;-))) Noch eine Frage: ich habe am Anfang mit NM_CLICK statt LVM_ITACHMEND benutz wo ist der Unterschied und was ist besser ? Vielen Dank für dein :mod: Klozkop
-
Also wenn ich so schreibe: int item = pNMListView->iItem; // hole Text von Item 3, Subitem 5 CString strText = m_Grid.GetItemText( item, 5 ) kriege ich ihn strText nur die Daten die in der spalte 5 stehen ich brauche aber alle Gibt da irgend eine Möglichkeit
-
Irgend wie checke ich es heute nicht mehr in MSDN steht CListCtrl::GetItemText int GetItemText( int nItem, int nSubItem, LPTSTR lpszText, int nLen ) const; CString GetItemText( int nItem, int nSubItem ) const; Return Value The version returning int returns the length of the retrieved string. The version returning a CString returns the item text. Parameters nItem The index of the item whose text is to be retrieved. nSubItem Specifies the subitem whose text is to be retrieved. lpszText Pointer to a string that is to receive the item text. nLen Length of the buffer pointed to by lpszText. Trozdem kriege ich den Inhalt nicht oder übrigens was braucht die Methode pNMListView->iItem es ist irgend wie von java++ oder
-
Sorry für die blöde Frage aber wie komme ich dann auf die Daten die in der Spalte stehen ?
-
Da bin ich noch mal ;-) Wie kann ich auf Benutzer Ereignisse reagieren beim CListCtrl dh. wenn er im CListCtrl klickt die Daten aus dem Feld auslesen Vielen Dank
-
Richtig so mache ich es: while(!GetDocument()->m_pRs->EndOfFile){ m_fghBenutzerVer.SetTextArray(GenID(liCount,0),strBenutzerID); m_fghBenutzerVer.SetTextArray(GenID(liCount,1),m_strLoginname); m_fghBenutzerVer.SetTextArray(GenID(liCount,2), m_strFirstName); m_fghBenutzerVer.SetTextArray(GenID(liCount,3), m_strLastName); m_fghBenutzerVer.SetTextArray(GenID(liCount,4), m_strStandort); m_fghBenutzerVer.SetTextArray(GenID(liCount,5), m_strPhone); m_fghBenutzerVer.SetTextArray(GenID(liCount,6),strErstelldatum); m_fghBenutzerVer.SetTextArray(GenID(liCount,7),strLetzteAend); m_fghBenutzerVer.SetTextArray(GenID(liCount,8),strLetzterLogin); m_fghBenutzerVer.SetTextArray(GenID(liCount,9),strPWGueltigBis); m_fghBenutzerVer.SetTextArray(GenID(liCount,10), pRs->m_szKommentar); m_fghBenutzerVer.SetTextArray(GenID(liCount,11),strStatus); GetDocument()->m_pRs->MoveNext(); } trotzdem kriege ich nur den ersten Datensatz ;-(
-
Mag sein, bei mir war es reine Einstellung Sache in Eigenschaften ( peinlich ) sonst funk so und so. Jetzt aber noch was wie schreibe ich meine alle Daten aus dem DB in mein ClistCtrl ich kann nur ersten Satz schreiben habe so versucht aber wird nichts angezeigt while(!EOF){ int nItem; nItem = m_Grid.InsertItem(0, strBenutzerID); m_Grid.SetItemText(nItem, 1, m_strLoginname); m_Grid.SetItemText(nItem, 2, m_strFirstName); m_Grid.SetItemText(nItem, 3, m_strLastName); m_Grid.SetItemText(nItem, 4, m_strStandort); m_Grid.SetItemText(nItem, 5, m_strPhone); m_Grid.SetItemText(nItem, 6, strErstelldatum); m_Grid.SetItemText(nItem, 7, strLetzteAend); m_Grid.SetItemText(nItem, 8, strLetzterLogin); m_Grid.SetItemText(nItem, 9, strPWGueltigBis); m_Grid.SetItemText(nItem, 10, pRs->m_szKommentar); m_Grid.SetItemText(nItem, 11, strStatus); }
-
Ja beides und zwar in eigenem Methoden so: void laladoc::MovePrevious() { if(m_pRs->BOF == FALSE){ try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Zum vorherigen Datensatz gehen m_pRs->MovePrevious(); } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } }else AfxMessageBox("Sie haben den ersten Datensatz erreicht"); } void lalaDoc::MoveNext() { try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Zum nechsten Datensatz gehen m_pRs->MoveNext(); if (m_pRs->EndOfFile){ AfxMessageBox("Sie haben den letzten Datensatz erreicht"); m_pRs->MoveLast(); } } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } aber ich verstehe nicht was kann es damit zu tun haben ???
-
Also ich habe ein ClistCtrl und und ein SDI Anwendung ;-) Jetzt versuche ich in meinem SDI in der Methode OnInitialUpdate() in meinem ClistCtrl was schreiben und zwar so: m_Grid.InsertColumn(0, "Name", LVCFMT_LEFT, 120); m_Grid.InsertColumn(1, "Vorname", LVCFMT_CENTER, 80); m_Grid.InsertColumn(2, "Qualification", LVCFMT_LEFT, 120); m_Grid.InsertColumn(3, "Profession", LVCFMT_LEFT, 100); m_Grid.InsertColumn(4, "Fav. Sport", LVCFMT_RIGHT, 80); m_Grid.InsertColumn(5, "Hobby", LVCFMT_CENTER, 100); int nItem; nItem = m_Grid.InsertItem(0, "Micheline Hubert"); m_Grid.SetItemText(nItem, 1, "02/26"); m_Grid.SetItemText(nItem, 2, "R.N."); m_Grid.SetItemText(nItem, 3, "Nurse"); m_Grid.SetItemText(nItem, 4, "HandBall"); m_Grid.SetItemText(nItem, 5, "Internet"); ModifyStyle(NULL, LVS_REPORT, 0); Leider kriege ich nur Micheline Hubert als Resultat warum????? Ich will doch auch meine Columns sehen und auch die richtig fühlen Was mache ich falsch ????? Vielen Dank
-
Hallo, ich greife auf DB mit ADO zu es funktioniert alles wunderbar bis auf Delete() hier Quelcode: void lala::Delete() { try { // Aktuellen Datensatz aktualisieren m_piAdoRecordBinding->Update(&m_rsRecSet); // Kann ein Datensatz gelöscht werden? if (m_pRs->Supports(adDelete)) { // Nachfragen, ob Benutzer wirklich diesen Datensatz löschen will if (AfxMessageBox("Diesen Datensatz wirklich löschen?", MB_YESNO | MB_ICONQUESTION) == IDYES) { // Datensatz löschen m_pRs->Delete(adAffectCurrent); // Aktuellen Datensatz aktualisieren m_pRs->MoveLast(); } } } // Fehler? catch (_com_error &e) { // Fehlermeldung generieren GenerateError(e.Error(), e.Description()); } } bei Delete ist es so das ich kann zwar den Datensatz löschen aber im Dialog entweder wird er angezeigt oder springt zwei weiter das heißt wenn ich die Nr 6 lösche und m_pRs->MoveLast(); benutze springt er auf 4 sonst bleibt er auf 6 stehen habe alles versucht auch UpdateData(FALSE); usw. hilft aber nichts ;-(((((( Ich arbeite mit SDI [edit: bitte die Code-Tags verwenden, damit die Einrückung erhalten bleibt | Klotzkopp]
-
In meinem CMSHFlexGrid Steuerelement sollen alle Datensätze angezeigt sein die in einem DB stehen ja und es ist mein Problem ich kann zwar ersten Satz lesen aber die nächste ? Ich versuche es in eine vor schleife zu machen aber irgend wie ohne Erfolg ;-)
-
Habe schon geschafft :marine
-
Hallo, ein kleines problem, ich habe SDI Anwendung und in dem SDI mehrere Formansichten (FormView) zwischen die ich problemlos switchen kann ;-) Jetzt will ich aber das bei starten ein Standart-ToolBar anzeigen und wenn ich zwischen den Formen wechsle ein anderen, eigentlich klingt es einfach aber irgend wie klemmt bei mir, ich bitte um Hilfe
-
Das funk nicht richtig denn wenn ich in DB NULL habe kriege ich irgendwelche komische Werte
-
Wie meinst Du es, der m_BenutzerID ist ein int Datetime in SQL Server das habe ich allerdings gelöst, halt weis ich es nicht ob es nicht ins Auge gehen kann ;-) COleDateTime m_dtLetzteAend; CString strLetzteAend = pRs->m_dtLetzteAend.Format("%H:%M:%S %A, %B %d, %Y"); @ Klotzkopp ->Was denkst Du ??
-
Mit int geht so danke ;-) Aber ich habe auch datetime in DB die ich auch in MSFlexGrid zeigen will, was mache ich damit ??
-
Hallo zusammen, ich benutze grade MSFlexGrid und schreibe durch SetTextArray() in die Felder rein. Jetzt ist aber so das ich nicht nur char schreiben will aber auch z.B. int so habe ich versucht: m_fgBenutzerVer.SetTextArray(7,(LPCTSTR) pRs->m_BenutzerID); kriege zwar keinen Fehler leider kann ich den progi nicht ausführen ;-( Hat da jemand Erfahrung damit ??
-
OnCloseDocument Ist die Lösung Danke :marine