[ ivan74 @ 31.08.2005. 15:08 ] @
Imam nekoliko textbox kontrola vezanih za dataset. tip kolona je double
zelim da mi u textbox-u (windows forma) uvek stoje dve decimale.
Kako da to uradim?
[ Gogy @ 31.08.2005. 18:36 ] @
Mozes koristiti preoptereceni ToString() metod.

Primjer:
Code:

Dim broj As Double = 3
TextBox1.Text = broj.ToString("0.00")
[ ivan74 @ 01.09.2005. 07:52 ] @
Da ali kontrole su databound tako da ne mogu da koristim taj primer.
Pronasao sam jedan primer ali on mora da se zove iz lostfocus ili leave dogadjaja.
Da li je moguce formatirati Textbox da prikazuje odredjeni broj decimala a da se izbegne koriscenje dogadjaja?
[ aXi @ 02.09.2005. 02:45 ] @
Pa napravi svoju NumericTextBox kontrolu koja nasledjuje TextBox (pa samim tim i sve ostalo njegovo) ali exposuje i property Value, pa binduj taj property... ja sam za web pravio slicnu stvar... ne mozes da copy-pastujes ali mozes da steknes predstavu sigurno:

Code:

    [DefaultProperty("Value"), 
        ToolboxData("<{0}:MoneyEditor runat=server></{0}:MoneyEditor>")]
    public class MoneyEditor : System.Web.UI.WebControls.TextBox
    {
        #region Properties
        private decimal controlValue = 0;

        [Bindable(true), 
            Category("Appearance"), 
            DefaultValue("0")]
        public override string Text
        {            
            get
            {
                if (CurrencyDisplay)
                    return Value.ToString("C", new CultureInfo("en-US")).Remove(0, 1);
                else
                    return Value.ToString("N"+decimalPlaces).TrimEnd('0').TrimEnd('.');
            }
            set
            {
                if (value.Trim() == "")
                    controlValue = 0;
                else
                    controlValue = Convert.ToDecimal(value);
            }
        }

        public decimal Value
        {
            get
            {
                return (decimal)controlValue;
            }
            set
            {
                controlValue = value;
            }
        }

        private int decimalPlaces = 3;
        
        [Bindable(true), 
        Category("Appearance")]
        public int DecimalPlaces
        {
            get
            {
                return decimalPlaces;
            }
            set
            {
                decimalPlaces = value;
            }
        }

// ... itd itd...


Javi ako imas poteskoca...
[ ivan74 @ 02.09.2005. 11:07 ] @
Hvala
nije mi palo na pamet probacu sigurno ovih dana, jer sam u medjuvremenu pronasao da moze da se uradi i preko Format i Parse dogadjaja sto radi prilicno lepo.
[ BlueSoniq @ 14.09.2005. 09:13 ] @
Code:
get
           set
            {
                if (value.Trim() == "")
                    controlValue = 0;
                else
                    controlValue = Convert.ToDecimal(value);
            }


Ovo puca kada u value nije decimal. Trebalo bi to drugacije. Ili pod TRY/CATCH.