[ 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? |
[ ivan74 @ 31.08.2005. 15:08 ] @
[ 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. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|