<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ListView Problem]]></title><description><![CDATA[<p>Hallo Forum</p>
<p>Also folgender Source (SDI-Anwendung, CListView als View-Klasse)</p>
<pre><code class="language-cpp">void CLagerlisteView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
    CLagerlisteDoc* pDoc = GetDocument();
    CLagerListeSet* pSet = pDoc-&gt;GetRecordset();
    int nListPos;

    GetListCtrl().DeleteAllItems();

    if(!pSet-&gt;IsOpen())
    {
        pSet-&gt;Open();
        pSet-&gt;Requery();
    }
    else
    {
        pSet-&gt;Requery();
    }

    for(pSet-&gt;MoveFirst(); !(pSet-&gt;IsEOF()); pSet-&gt;MoveNext())
    {
        CString strId;
        strId.Format(&quot;%ld&quot;, pSet-&gt;m_id);
        CString strEinzelpreis = &quot;€&quot;;
strEinzelpreis += pSet-&gt;m_einzelpreis.Left(pSet-&gt;m_einzelpreis.GetLength()-2);

        nListPos = GetListCtrl().InsertItem(0, &quot;a&quot;);
        GetListCtrl().SetItemText(nListPos, 0, _T(pSet-&gt;m_bezeichnung));
    GetListCtrl().SetItemText(nListPos, 1, _T(pSet-&gt;m_kurzbezeichnung));
        GetListCtrl().SetItemText(nListPos, 2, _T(pSet-&gt;m_norm));
        GetListCtrl().SetItemText(nListPos, 3, _T(pSet-&gt;m_lieferant));
        GetListCtrl().SetItemText(nListPos, 4, _T(pSet-&gt;m_statistik));
        GetListCtrl().SetItemText(nListPos, 5, _T(pSet-&gt;m_gruppe));
        GetListCtrl().SetItemText(nListPos, 6, _T(pSet-&gt;m_menge));
        GetListCtrl().SetItemText(nListPos, 7, _T(strEinzelpreis));
    GetListCtrl().SetItemText(nListPos, 8, _T(pSet-&gt;m_einkaufsdatum));
    }
}
</code></pre>
<p>Nun habe ich folgendes Problem:<br />
Beim Start der Anwendung wird mir nur die Spalte &quot;Bezeichnung&quot; aufgefüllt.<br />
Um die ganze Liste aufzufüllen, muss ich z.B.: eine Menünachricht über schreiben in der ich die Funktion Requery() der Recordset-Klasse aufrufe.</p>
<p>In der Doc-Klasse wird eine Instanz der Recordset-Klasse am Heap angelegt, und im Konstruktor der Doc-Klasse geöffnet.</p>
<p>Wie kann ich die ganze Liste schon beim start der Anwendung auffüllen?</p>
<p>mfg, Jover</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6245/listview-problem</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 06:11:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6245.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jun 2003 11:25:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ListView Problem on Thu, 19 Jun 2003 11:25:00 GMT]]></title><description><![CDATA[<p>Hallo Forum</p>
<p>Also folgender Source (SDI-Anwendung, CListView als View-Klasse)</p>
<pre><code class="language-cpp">void CLagerlisteView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
    CLagerlisteDoc* pDoc = GetDocument();
    CLagerListeSet* pSet = pDoc-&gt;GetRecordset();
    int nListPos;

    GetListCtrl().DeleteAllItems();

    if(!pSet-&gt;IsOpen())
    {
        pSet-&gt;Open();
        pSet-&gt;Requery();
    }
    else
    {
        pSet-&gt;Requery();
    }

    for(pSet-&gt;MoveFirst(); !(pSet-&gt;IsEOF()); pSet-&gt;MoveNext())
    {
        CString strId;
        strId.Format(&quot;%ld&quot;, pSet-&gt;m_id);
        CString strEinzelpreis = &quot;€&quot;;
strEinzelpreis += pSet-&gt;m_einzelpreis.Left(pSet-&gt;m_einzelpreis.GetLength()-2);

        nListPos = GetListCtrl().InsertItem(0, &quot;a&quot;);
        GetListCtrl().SetItemText(nListPos, 0, _T(pSet-&gt;m_bezeichnung));
    GetListCtrl().SetItemText(nListPos, 1, _T(pSet-&gt;m_kurzbezeichnung));
        GetListCtrl().SetItemText(nListPos, 2, _T(pSet-&gt;m_norm));
        GetListCtrl().SetItemText(nListPos, 3, _T(pSet-&gt;m_lieferant));
        GetListCtrl().SetItemText(nListPos, 4, _T(pSet-&gt;m_statistik));
        GetListCtrl().SetItemText(nListPos, 5, _T(pSet-&gt;m_gruppe));
        GetListCtrl().SetItemText(nListPos, 6, _T(pSet-&gt;m_menge));
        GetListCtrl().SetItemText(nListPos, 7, _T(strEinzelpreis));
    GetListCtrl().SetItemText(nListPos, 8, _T(pSet-&gt;m_einkaufsdatum));
    }
}
</code></pre>
<p>Nun habe ich folgendes Problem:<br />
Beim Start der Anwendung wird mir nur die Spalte &quot;Bezeichnung&quot; aufgefüllt.<br />
Um die ganze Liste aufzufüllen, muss ich z.B.: eine Menünachricht über schreiben in der ich die Funktion Requery() der Recordset-Klasse aufrufe.</p>
<p>In der Doc-Klasse wird eine Instanz der Recordset-Klasse am Heap angelegt, und im Konstruktor der Doc-Klasse geöffnet.</p>
<p>Wie kann ich die ganze Liste schon beim start der Anwendung auffüllen?</p>
<p>mfg, Jover</p>
]]></description><link>https://www.c-plusplus.net/forum/post/30329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/30329</guid><dc:creator><![CDATA[Jover]]></dc:creator><pubDate>Thu, 19 Jun 2003 11:25:00 GMT</pubDate></item></channel></rss>