15. september 2008 - 12:01Der er
19 kommentarer og 1 løsning
hent af kolonne fra Excel 2007 ind i listbox
Hej
jeg skal have hentet 2 kolonner fra Excel ind i min listbox. Den første er en "Titel" på en film og kolonnen ved siden af hedder "Antal Min" som jeg gerne skulle have tilsvarende ind i min listbox ved siden af Titel. Kan det lade sig gøre at opstille de 2 kollonner ( som de står i excel ) i en listbox ??
Jeg ville nok bruge en ListView med View propertien sat til "Details" og FullRowSelect propertien sat til true. Det giver meget præcist hvad du har brug for, hvis jeg har forstået dig rigtigt.
Skal du have hjælp til at hente data ud fra Excel også, eller?
har kigget eksemplet igennem og har et par spørgsmål til det.
"Titel" og "Antal Min" som står i kolonnerne på form'en, hvordan får jeg frem på min egen form, er de tunder properties jeg skal synliggøre dem ?
Jeg vedhæfter lige min egen kode så du kan se det jeg har:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
namespace Filmliste { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
button 1-2-3-4 og 5 er knapper jeg har navngivet "Titel", "Danske", "Børnefilm", Boxset" og "Nyeste". Textbox1 er et søgefelt , hvor jeg bruger button6 som "Søg"-knap til at søge blandt titelerne i hele listen. Hvis man trykker på button1 ( "Titel" ) , skal listen vise alle internationale film i den tilsvarende kolonne i Excel arket , med "Antal min" ved siden af.
For at vise kolonner i et ListView, skal du først sætte View propertien til "Details". Dette gør du under Properties i designeren. Derefter kan du tilføje kolonner i Columns propertien.
Prøv at se om du kan få det til at virke ud fra de informationer du har nu. Hvis du har nogle flere spørgsmål, så bare spørg. Jeg kan eventuelt modificere lidt på eksemplet, så det ligner det du skal bruge lidt mere. Jeg har dog ikke tid til at gøre dette før i aften, eventuelt i morgen aften.
Det er helt i orden hvis du først har tid i aften eller morgen aften. Og vil meget gerne hvis du ville modificere den til at ligne noget af det jeg skal bruge. Kigger lige selv på det imellemtiden så og prøver at få vist kolonnerne på form'en. På Forhånd tak
Hej aaberg , har nu fået tilføjet koden til knapperne så denne del virker rigtig godt nu. Nu er det bare "Søg"-knappen ( button6 ) jeg er strandet på. I textbox1 skal man kunne skrive noget at titelen og så trykke på "Søg"-knappen ( button6 ) hvorefter den så skal fremvise resultatet i Listview. Hvordan gøres dette lige ?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb;
namespace Filmliste { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
command.CommandText = "select * from [Titel$] where titel like @searchString"; command.Parameters.Add(new OleDbParameter("@searchString", "%" + this.textBox1.Text + "%"));
Jeg har på en eller anden måde fået hul igennem til søg-funktionen nu, men hvis jeg skal søge fra en anden tabel en Titel-tabellen, skal jeg så tilføje command.CommandText = "select * from [Dansk$] f.eks nedenunder den først SQL linie ??
Hvis du skal søge fra en anden tabel, skal du skifte SQL sætningen ud. F.eks. select * from [Dansk$] where Titel like @searchString
Hvis du skal søge i flere tabeller på en gang, kan du bruge en union
select * from [Titel$] where Titel like @searchString union select * from [Dansk$] where Titel like @searchString
osv.
I stedet for at gøre det på den måde, kan du jo overveje at have en tabel som indeholder alle film, som har en ekstra kolonne som hedder "kategori". Så bliver sql sætningen
select * from [AlleFilm$] where Titel like @searchString
Så kan du under knappen "Dansk" skrive
select * from [AlleFilm$] where Kategori = 'Dansk'
jeg har brugt den med union og det ser bare super godt ud. Tusind tak aaberg, så vil jeg simpelthen tilføje alle film til listen. Så bliver sidste hurdle egentlig bare hvordan jeg kan få det her "program" distribueret ud til venner og familie eller om man kan lave en smart install-fil som pakker program + excel-fil ud på deres computer så de selv kan køre programmet der.
Man kan lave en install fil, men desværre ikke med Expess versionen. Så bliver man nød til at have den fulde version. Ellers bliver du nød til at programmere install programmet selv.
Det nemmeste er nok bare at zippe filerne, og sende dem til vender på e-mail, eller kopiere det på en cd.
tak for det aaberg, det var kanon hjælp, jeg prøver at zippe filerne i stedet for :). Ellers må jeg se om der ligger et eksempel på hvordan man programmerer install-programmet et sted engang .
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.