نمایش نتایج 1 تا 9 از 9

نام تاپیک: عدد در سلول دیتا گرید

  1. #1

    عدد در سلول دیتا گرید

    با سلام
    می خوام فقط در سلول DataGrid در سلو لهای یک ستون خاص فقط عدد وارد شود . یعنی کاربر نتونه غیر از عدد چیز دیگری را تایپ نمایید .من تابع را نوشتم :

    public bool OnlyIsNumeric(string val)
    {
    try
    {
    int result = 0;
    return int.TryParse(val, System.Globalization.NumberStyles.Integer, System.Globalization.NumberFormatInfo.CurrentInfo, out result);
    }
    catch
    {
    return false;
    }
    }

    و در رویداد CurrentCellChanged این را نوشتم :

    if (this.OnlyIsNumeric(grdAjnasDetails[grdAjnasDetails.CurrentRowIndex, 2].ToString()) == false)
    که در این قسمت مقدار سلول در صورت عددی نبودن پاک شود

    با تشکر

  2. #2
    کسی یک راهنمایی بکند ....

  3. #3
    با سلام .
    شما میتونید از کد زیر استفاده کنید .
    if (e.ColumnIndex == 0)
    {
    try
    {
    dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value =
    Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value);
    }
    catch
    {
    try
    {
    dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
    }
    catch { }
    }
    }
    در داخل if میتونید شماره ستون مورد نظر را وارد کنید که از صفر شروع میشه .
    برای مشاهده عمکرد کد فوق میتونید از کد بالا کپی بگیرید و در رویداد CellValueChanged دیتاگرید قرار بدهید .

  4. #4
    آقا سلام
    آبجکت من DataGrid است نه DataGridView که property بالا را ندارد .

  5. #5
    با سلام
    شما به دیتا گریدتون یک سری data column اضفه میکنید و میتوانید در زمان تعریف این data column ها بگویید که این data column از نوع int هست.
    اگه بازم مشکلی بود بگید تا از بین کدام واستون کد بدرد بخور رو پیدا کنم

  6. #6
    جناب jafarizade سلام
    هدف من اینه که اولا در سلول مثلا ستون 2 کاربر فقط بتونه عدد وارد کند در صورتی که غیر از عدد وارد کند ،‌ خود به خود مقدار وارد شده پاک شود . ببین من در مورد TextBox مشکلی ندارم و تابعی را که در بالا نوشتم را برای TextBox قابل استفاده است به صورت ذیل :

    if (this.OnlyIsNumeric(txtCash.Text.ToString()) == false)
    txtCash.Text = "";

    در نتیجه کاربر با وارد کردن رشته کرکتر کل متن پاک می شود . من تقریبا چنین چیزی را می خوام
    متشکرم

  7. #7
    اگر از dataGridView استفاده کنید می تونید به راحتی فرمت ورودی را عدد تعیین کنید
    اما در یتا گرید را نمی دانم.

  8. #8
    کاربر دائمی آواتار Sorenaa_s
    تاریخ عضویت
    اردیبهشت 1386
    سن
    43
    پست
    115
    می تونید از DataGridTextBox ارث برده و مشابه کدی که در TextBox نوشتید رو تو این بنوسید و از این کلاس استفاده تو DataGrid

  9. #9
    کاربر دائمی آواتار ghafoori
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان-نجف اباد
    پست
    1,111
    دوستان عزیز این پست فکر کنم به سوال شما نزدیک باشه
    http://www.barnamenevis.org/sh...ghlight=masked

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •