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

نام تاپیک: تغیر رنگ دیتا گیرید ویو RowDataBind

  1. #1

    تغیر رنگ دیتا گیرید ویو RowDataBind

    سلام به همه دوستان
    من یه دیتا گیرید ویو دارم توش یک مقادیر عددی نشون داده میشه مثلا عدد 28 یا هر عددی حالا میخوام مثلا وقتی عد بین 10 تا 50 بود دیتا گرید ویو رنگش بشه قرمز و 50 تا 70 بشه سبز و 70 تا 100 هم بشه ابی یکم سرچ کردم فهمیدم با RowDataBind میشه این کارو کرد ولی نمی دونم چجور کدش و اضافه کنم میشه دوستان و اساتید راهنمایی کنن یا کدش و توضیح بدن ممنون

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    در همون رخداد rowdatabound بصورت زیر عمل کنین:

    WITH E.ROW.CELLS(CellNumber)
    SELECT CASE .TEXT
    CASE 10 TO 50
    .FORECOLOR=DRAWING.COLOR.RED
    CASE 51 TO 70
    .FORECOLOR=DRAWING.COLOR.GREEN
    CASE 71 TO 100
    .FORECOLOR=DRAWING.COLOR.BLUE
    CASE ELSE
    .FORECOLOR=DRAWING.COLOR.BLACK
    END SELECT
    END WITH



    البته بهتره قبلش چک کنین که rowtype برابر datarow باشه

  3. #3

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    من یه گرید ویو دارم که با این کد sELECT میشه و مقدار میگیره

    {
    string strSQLconnection =
    "Data Source=HAMED;Initial Catalog=binja;Integrated Security=True;Pooling=False";
    SqlConnection sqlConnection = new SqlConnection(strSQLconnection);
    SqlCommand sqlCommand = new SqlCommand("select a,b from tb1", sqlConnection);
    sqlConnection.Open();
    SqlDataReader reader = sqlCommand.ExecuteReader();
    GridView1.DataSource = reader;
    GridView1.DataBind();
    }

    میخوام اگه اعداد نمایش داده شده توی سلول a , b بین شرط که گفتم باشن رنگی بشن میشه راه نمایی کنید

  4. #4
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    مهم نیست که دیتا رو چجوری میخونین
    روش همین هست که گفته شد

  5. #5

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    دوستان من این کد رو نوشتم کار نمیکنه

    DataTable dt = new DataTable();
    string connstr = @"Data Source=HAMED;Initial Catalog=mydb;Integrated Security=True;Pooling=False";
    using (SqlConnection cn = new SqlConnection(connstr))
    {
    SqlDataAdapter adp = new SqlDataAdapter("select a,b,c from tb1", cn);
    adp.Fill(dt);
    }
    if (dt.Rows.Count > 0)
    {
    gvcustomers.DataSource = dt;
    gvcustomers.DataBind();
    }






    }


    protected void gvcustomers_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    if (e.Row.Cells[2].Text.CompareTo("hamed") == 0)
    {
    e.Row.CssClass = "red";
    }
    else if (e.Row.Cells[2].Text.CompareTo("lii") == 0)
    {
    e.Row.CssClass = "green";
    }
    }
    }


    توی تگ استایل css هم کد رنگ هارو وارد کردم

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,030

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    قبل از هر چیز کد ها رو در تگ مناسب قرار بدین تا خوانا باشه

    اول مطمئن بشین که استایل رو درست تعریف کردین: یک label با استایل red به صفحه اضافه کنین و نتیجه رو چک کنین.
    اگر درست بود بجای if خودتون با کد زیر چک کنین:

    if e.row.rowindex mod 2=0 then
    e.row.rowstyle="red"
    else
    e.row.rowstyle="green"
    endif


    اگر درست بود باید If خودتون رو چک کنین : یا مقادیر مورد مقایسه نادرسته یا cellnumber

  7. #7

    نقل قول: تغیر رنگ دیتا گیرید ویو RowDataBind

    با سلام مشکل برطرف شد
    من با این کد به نتیجه رسیدم داخل رخداد rowdatabound گرید ویو نوشتم

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {


    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    float min = float.Parse(e.Row.Cells[0].Text);


    foreach (TableCell cell in e.Row.Cells)
    {
    if (min == 0)
    {
    cell.BackColor = Color.Black;
    }
    if (min > 0 && min <= 12.4)
    {
    cell.BackColor = Color.Black;
    }
    if (min >= 12.5 && min <= 24.9)
    {
    cell.BackColor = Color.DarkGray;
    }
    if (min >= 25 && min <= 37.4)
    {
    cell.BackColor = Color.Crimson;
    }
    if (min >= 37.5 && min <= 49.9)
    {
    cell.BackColor = Color.Red;
    }
    if (min >= 50 && min <= 62.4)
    {
    cell.BackColor = Color.Orange;
    }
    if (min >= 62.5 && min <= 74.9)
    {
    cell.BackColor = Color.Yellow;
    }
    if (min >= 75 && min <= 87.4)
    {
    cell.BackColor = Color.GreenYellow;
    }
    if (min >= 87.5 && min <= 100)
    {
    cell.BackColor = Color.Green;
    }

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: چهارشنبه 22 فروردین 1397, 00:42 صبح
  2. حرفه ای: تغیر رنگ دائمی سلولهای یک رکورد در دیتاگرید ویو
    نوشته شده توسط Sal_64 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 04 اردیبهشت 1390, 06:53 صبح
  3. تغیر عنوان دیتا گرید ویو
    نوشته شده توسط mehrdad372 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: پنج شنبه 19 اسفند 1389, 09:30 صبح
  4. مبتدی: متغیری شبیه دیتا گرید ویو
    نوشته شده توسط hossein-khoshseyar در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 11 مهر 1389, 10:26 صبح
  5. ذخیره تغیرات از گریدویو به دیتابیس
    نوشته شده توسط Mojtaba.Kh در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 28 بهمن 1387, 18:18 عصر

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

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