wtorek, 29 grudnia 2009

Formatowanie double

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Double value = 14231891.32111;
            Console.WriteLine(String.Format("{0}", value));
            Console.WriteLine(String.Format("{0:00}", value));
            Console.WriteLine(String.Format("{0:n0}", value));
            Console.ReadLine();
        }
    }
}


wynik:

14231891,32111
14231891
14 231 891

poniedziałek, 21 grudnia 2009

Problemy z Accessem w VisualStudio

W przypadku problemów z użyciem bazy danych Access (poprzez OLE DB) w Visual Studio i uzyskiwaniem komunikatu polecam zainstalowanie:

MDAC 2.7 sp1

u mnie to pomogło :)

Property (właściwości) kontrolki - problem z ustaleniem wartości w aspx

Objawy:
- mimo prawidłowego ustawienia wartości dla właściwości nie jest ona widoczna w code-behind,
- wartość zmiennej występuje w kolekcji Attributes danej kontrolki,
- sprawa dotyczy strony (aspx) lub kontrolki (ascx)

to polecam (rozwiązanie):
- zmienić dostępność właściwości w code-behind na public. Protected, internal, private niestety powodują nieprawidłowe działanie.

czwartek, 3 grudnia 2009

DropDownList wewnątrz FormView

W sytuacji, kiedy załadowanie danych do DropDownList w FormView stanowi problem dobrym rozwiązaniem jest podpięcie się pod zdarzenie OnLoad konkretnej kontrolki DropDownList, a następnie tam wypełnienie jej. Np. w następujący sposób:

    protected void PeriodDropDownList_Load(object sender, EventArgs e)
    {
        DropDownList list = (DropDownList)sender;
        list.DataSource = EnumsHelper.IntoDictionary(typeof(Period));
        list.DataTextField = "Value";
        list.DataValueField = "Key";
    }

Jeszcze lepszym rozwiązaniem jest wykorzystanie OnDataBinding - zdarzenie wywoływane przed przypięciem danych. Dla OnLoad podczas zagnieżdżania FormView pojawił się problem z nadpisywaniem danych wybranych przez użytkownika.