PDA

View Full Version : فرمت textbox برای مبلغ



rasti_web
دوشنبه 08 مرداد 1386, 10:00 صبح
میخواهم در textbox مربوط به مبلغ در هنگام وارد کردن عدد آن به صورت خاص با جداکننده باشد (در دات نت 1و1 و کد #c):
مثال: 1,000,000
جستجو کردم تنها با ajax پیدا کردم.غیر از آن راهی نداره؟

rtech
دوشنبه 08 مرداد 1386, 14:47 عصر
به اینجا یک نگاهی بندازید فکر کنم بدردتان بخورد :



http://www.codeproject.com/cs/miscctrl/currency_textbox_c__form.asp

nima_nimaee
دوشنبه 08 مرداد 1386, 14:56 عصر
سلام می تونی از object NumericBox از خانواده eworld استفاده کنی
همه امکانات رو باهم برات گذاشته
http://eworldui.net/
موفق باشید

rasti_web
سه شنبه 09 مرداد 1386, 10:37 صبح
میخواهم موقع تایپ کردن خودش با فرمت خاص بگیرد یعنی وقتی در textbox شروع به تایپ کردن کرد فرمت در textbox ظاهر شود .
در لینک زیر نمونه Ajax رو ببینید :
http://asp.net/ajax/control-toolkit/live/MaskedEdit/MaskedEdit.aspx

mr_mtc
چهارشنبه 10 مرداد 1386, 15:51 عصر
منم دنبال یه همچین چیزب میگردم؛ ممنون میشم کمکم کنین

rasti_web
شنبه 13 مرداد 1386, 08:32 صبح
کسی راه حلی نداره ؟

Behrouz_Rad
شنبه 13 مرداد 1386, 08:44 صبح
جدا از عدم ارتباط این سوال به بخش ASP.NET، ایجاد چنین TextBox ای اصلا سخت نیست.
با حداقل دانش در مورد JS میشه اون رو پیاده سازی کرد.
به شکل تئوری، کافیه در روال onkeydown، تعیین کنید که اگر کاراکتر وارد شده، عدد بود و تعداد کاراکترهای وارد شده بر 3 بخش پذیر بود، یک "،" به TextBox اضافه بشه.

موفق باشید.

cactuskhan
شنبه 13 مرداد 1386, 13:59 عصر
همینو + اینکه فقط عدد بگیره اگه پیاده سازی کنی ممنون میشم !!! واسه شما فکر کنم نیم سوته !!

Behrouz_Rad
شنبه 13 مرداد 1386, 22:23 عصر
شانس آوردی که یک هفته وقت آزاد دارم...! :چشمک:
واست نوشتمش.. کامل و بی نقص.
تست شده بر روی IE و Firefox

موفق باشید.:لبخندساده:

rasti_web
یک شنبه 14 مرداد 1386, 09:01 صبح
از لطفتون بسیار ممنونم جناب راد .

tc1000
چهارشنبه 04 مهر 1386, 00:05 صبح
بسیار عالی هستش جناب راد ولی 2 تا مسئله وجود داره.
1- تکلیف ممیز چی میشه بطور مثال توی این تاکس باکس تا 3 رقم اعشار رو هم بشه زد ولی دیگه کاما یا همون جدا کننده رو نزنه.

2- وقتی میخوایم اون رو در دیتا بیس ذخیره کنیم دیگهنیازی به ا کننده ها نداریم چون محسابات رو دچار مشکل میکنند
اگر راهی برای این دو مسئله وجود داشته باشه بسیار عالی و بسیار کنترل عالی خواهد شد.

با تشکر

cactuskhan
چهارشنبه 04 مهر 1386, 08:44 صبح
بسیار عالی هستش جناب راد ولی 2 تا مسئله وجود داره.
1- تکلیف ممیز چی میشه بطور مثال توی این تاکس باکس تا 3 رقم اعشار رو هم بشه زد ولی دیگه کاما یا همون جدا کننده رو نزنه.

2- وقتی میخوایم اون رو در دیتا بیس ذخیره کنیم دیگهنیازی به ا کننده ها نداریم چون محسابات رو دچار مشکل میکنند
اگر راهی برای این دو مسئله وجود داشته باشه بسیار عالی و بسیار کنترل عالی خواهد شد.

با تشکر

1- اینجا صحبت از مبالغ پولیه این چه ربطی به اعشار داره ؟؟:متفکر:

2- جدا کردن کاما از یه رشته اینقدر مشکله ؟؟ بلد نیستی بگو واست بنویسم !

tc1000
چهارشنبه 04 مهر 1386, 12:14 عصر
من پستی دیگه زده بودم در مورد کنترل و جناب راد این پست رو معرفی کردند. من هم این رو عنوان کردم که کنترل رو قوی تر ککند جناب راد.
در ضمن بحث مبلغ هستش و اگر کسی مبلغ رو به میلیون ریال وارد بکنه اون موقع نیاز به اعشار پیدا خواهد کرد به طور مثال 5.2 میلیون ریال که میشه 5200000 ریال.
منظور بنده این بود.

Behrouz_Rad
چهارشنبه 04 مهر 1386, 12:28 عصر
این کنترل به اندازه ی کافی روشن و واضح نوشته شده و مطمئنا ذهن شما رو برای سفارشی کردن تقویت میکنه.
اگر چیزی میخوای اضافه یا کم کنی این بر عهده ی خودته.

موفق باشید.

rasti_web
چهارشنبه 26 دی 1386, 10:09 صبح
من میخوام این TextBox رو در یک دیتا گرید داشته باشم
توابع جاوا را در کد CS صفحه گذاشتم و در ItemDataBound دیتا گرید این کد رو نوشتم :


if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.SelectedItem)
{
System.Web.UI.WebControls.TextBox tbm = (TextBox) e.Item.Cells[0].FindControl("tbMoney");
tbm.Attributes.Add("onkeypress", String.Format("javascript:return numeralsOnly(event)",tbm.ClientID));
tbm.Attributes.Add("onkeyup","javascript:var m = prepareValue(dgInfo__ctl" + i.ToString().Trim() + "_tbMoney);formatTextBox(m,dgInfo__ctl" + i.ToString().Trim() + "_tbMoney))");
i++;
}

onkeypress در TextBox درست کار میکنه ( مقادیر عددی فقط قبول میکنه ) اما کاما برای مبالغ درست نمیشه و خطا میدهد . ( i شمارنده کنترل textbox در دیتاگرید هست که از 2 شروع میشه )
مشکل کجاست ؟

nemidonam
سه شنبه 02 مهر 1387, 11:31 صبح
من میخوام این TextBox رو در یک دیتا گرید داشته باشم
توابع جاوا را در کد CS صفحه گذاشتم و در ItemDataBound دیتا گرید این کد رو نوشتم :


if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.SelectedItem)
{
System.Web.UI.WebControls.TextBox tbm = (TextBox) e.Item.Cells[0].FindControl("tbMoney");
tbm.Attributes.Add("onkeypress", String.Format("javascript:return numeralsOnly(event)",tbm.ClientID));
tbm.Attributes.Add("onkeyup","javascript:var m = prepareValue(dgInfo__ctl" + i.ToString().Trim() + "_tbMoney);formatTextBox(m,dgInfo__ctl" + i.ToString().Trim() + "_tbMoney))");
i++;
}
onkeypress در TextBox درست کار میکنه ( مقادیر عددی فقط قبول میکنه ) اما کاما برای مبالغ درست نمیشه و خطا میدهد . ( i شمارنده کنترل textbox در دیتاگرید هست که از 2 شروع میشه )
مشکل کجاست ؟
textbox روال onkeyup ندارد منم همين مشكل رو دارم

salehbagheri
سه شنبه 02 مهر 1387, 22:03 عصر
البته بی ربط ولی نه چندان بی ربط:

اگر خواستی اعداد رو از بانک بخونی و داخل یک لیبل به صورت سه رقم جدا (XY،000،000) نشون بدی، از این روش استفاده کن!


<asp:Label ID="Label1" runat="server"><%#Eval("Price").ToString("###,###,###") %></asp:Label>

kh1387
یک شنبه 07 مهر 1387, 00:33 صبح
سلام می تونی از object NumericBox از خانواده eworld استفاده کنی
همه امکانات رو باهم برات گذاشته
http://eworldui.net/
موفق باشید

یعنی چی؟
میشه بیشتر توضیح بدهید؟
مرسی:لبخندساده: