Kategoriarkiv: Udvikling

Hvordan viser jeg DataTable ColumnNames i en WPF ComboBox?

Denne artikel omhandler it-udvikling i C#.NET WPF

Det er let at finde eksempler på at binde et DataGrid med et DataTable, og der findes også eksempler på at binde en ComboBox med fx værdierne i en kolonne i et DataTable, men mit behov, nemlig at liste selve kolonnenavnene fra et DataTable i en ComboBox, så man kan vælge en bestemt kolonne fra fx et nærtstående DataGrid, det har været lidt svært at finde. Det viste sig, at løsningen var såre simpel, og nu skriver jeg denne artikel, så jeg selv kan finde det, næste gang jeg skal bruge dette. Måske du har fundet denne side via Google? Du skal være velkommen til at skrive i kommentarerne i bunden.

I dette eksempel har jeg i min ViewModel følgende property:

private DataTable gridInputData;
public DataTable GridInputData
{
  get { return gridInputData; }
  set { gridInputData = value; NotifyPropertyChanged(); }
}

Læg mærke til NotifyPropertyChanged() i setteren. Jeg vil ikke forklare dette pattern her, der findes masser af eksempler på dette på nettet.

Et sted i min load-rutine henter jeg noget data (i dette tilfælde fra en Excel-fil) og gemmer det første DataTable ned i min ViewModel property.

DataSet dataset = edr.Load(filepath);
vm.GridInputData = dataset.Tables[0];

Når dette sker, bliver ComboBoxen i XAML’en herunder automatisk udfyldt.
Mit issue, som jeg ikke lige kunne finde et færdigt eksempel på, var, at jeg kunne lave GridInputData.Columns. Jeg troede jeg skulle bruge en særlig parameter på bindingen for at nå til Columns, men almindelig dot-notation er altså nok.


<ComboBox x:Name="cmbVariantColumn" 
          ItemsSource="{Binding GridInputData.Columns}" 
          DisplayMemberPath="ColumnName"/>

Og så fungerer det, yeay!

Visual Studio 2015: Mine indstillinger

Jeg bruger Visual Studio dagligt. Ligesom med Windows, stiller jeg på Visual Studios små skruer, så den spinder præcis som jeg vil have det. Her på denne side vil jeg forsøge at huske at skrive ind, når jeg laver nogle ændringer, som jeg også skal huske næste gang jeg starter med en nyinstalleret Visual Studio. Kom derfor igen for at se evt. tilføjede tips.

Læs resten

Visual Studio: InvalidOperationException ved ServiceReferences og flere projekter i ét

Jeg har lige haft en noget spidsfindig fejl i min kodning. Jeg har en Visual Studio solution, hvor jeg har et servicelag-projekt med mine services og modeller, og så har jeg et ASP.NET MVC-projekt, hvor mit website ligger i. Jeg skal så kalde en webservice ude på internettet, med kode der ligger som en service i mit servicelag-projekt. Jeg kalder servicen fra mit website.  Læs resten

Hvorfor starter Git Extensions langsomt op

Git er et versionsstyringsværktøj til it-udviklere, således at man altid kan gå tilbage og se tidligere versioner af et projekts kode, og samtidig giver det mulighed for, at flere kan arbejde på det samme projekt samtidigt. Bliver der rettet i en fil af to personer, har den der gemmer sidst mulighed for at flette ændringerne sammen. Ofte sker dette endda automatisk.

Git Extensions er et grafisk interface til Git, der ellers er konsolbaseret. Hvis Git Extensions starter rigtig langsomt op (mere end 1-2 sekunder), så kan det være, at du har et tidligere (recent) projekt i venstre sidebar, som ligger på et netværksshare, der ikke er tilgængeligt. Generelt ryd op i recent projekts, så du ikke har projekter, der ikke er tilgængelige.