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

نام تاپیک: تغییر رنگ یک Row از DataGrid

  1. #1
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044

    تغییر رنگ یک Row از DataGrid

    چطور میشه این کار رو کرد اما با یک شرط خاص
    مثلا اگر Status یک بود آبی و اگر 2 قرمز و ...

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    136
    اینجوریشو نمیدونم اما میشه 1 در میان از دو رنگ مختلف استفاده کرد

  3. #3
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    نقل قول نوشته شده توسط RezaJP
    اینجوریشو نمیدونم اما میشه 1 در میان از دو رنگ مختلف استفاده کرد
    بوسیله Alternate ها.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    136
    ممنون البته من خواستم خود ایشون هم یه تلاشی بکنن :oops:

  5. #5
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    من در مورد این Alternate جستجو کردم ولی بیشتر به برنامه های وب بیس رسیدم!!!
    من تو وین فرم میخوام این کار رو بکنم میشه یکم بیشتر برام توضیح بدید؟

  6. #6
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    از هر دو نفر شما سپاسگذارم.
    بالاخره تونستم حلش کنم.

    چیزی که میخواستم رو ساختم ولی نه با Alternate ها
    چون اصلا نمیدوستم اون چیه.

    در هر حال از توجه شما سپاسگذارم :flower:

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    136
    میتونم بپرسم چطوری؟ :mrgreen:

  8. #8
    کاربر دائمی آواتار سار
    تاریخ عضویت
    اسفند 1382
    محل زندگی
    تورین-ایتالیا
    پست
    1,044
    نقل قول نوشته شده توسط RezaJP
    میتونم بپرسم چطوری؟ :mrgreen:
    به سختی :mrgreen:
    من از کد زیر استفاده کردم.
    خوشهال میشم اگر روش ساده تر و کار آمدتری هم هست بهم بگید.

    private void GridStyle()
    {
    int numCols = ds.Tables[0].Columns.Count;
    DataGridTableStyle tableStyle = new DataGridTableStyle();
    tableStyle.MappingName = ds.Tables[0].TableName.ToString();
    DataGridColoredTextBoxColumn aColumnTextColumn ;
    delegateGetColorRowCol d = new delegateGetColorRowCol(MyGetColorRowCol);
    for(int i = 0; i < numCols; ++i)
    {
    aColumnTextColumn = new DataGridColoredTextBoxColumn(d, i);
    switch (i)
    {
    case 0:
    aColumnTextColumn.HeaderText = "کد";
    aColumnTextColumn.Width = 40;
    aColumnTextColumn.MappingName = ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    case 1:
    aColumnTextColumn.HeaderText = "تاریخ";
    aColumnTextColumn.Width = 60;
    aColumnTextColumn.MappingName= ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    case 2:
    aColumnTextColumn.HeaderText = "خریدار";
    aColumnTextColumn.Width = 110;
    aColumnTextColumn.MappingName = ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    case 3:
    aColumnTextColumn.HeaderText = "وضعیت";
    aColumnTextColumn.Width = 55;
    aColumnTextColumn.MappingName = ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    case 4:
    aColumnTextColumn.HeaderText = "تاریخ آخرین تغییر";
    aColumnTextColumn.Width = 60;
    aColumnTextColumn.MappingName= ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    case 5:
    aColumnTextColumn.HeaderText = "شرح";
    aColumnTextColumn.Width = 200;
    aColumnTextColumn.MappingName= ds.Tables[0].Columns[i].ColumnName;
    aColumnTextColumn.NullText = "";
    break;
    }
    tableStyle.GridColumnStyles.Add(aColumnTextColumn) ;
    }
    grdMaster.TableStyles.Clear();
    grdMaster.TableStyles.Add(tableStyle);

    }

    public Color MyGetColorRowCol(int row, int col)
    {
    Color c = Color.Black;
    int i = 0;
    System.Windows.Forms.DataGridCell selectedCell = grdMaster.CurrentCell;
    object selectedItem=null;
    string cellValue = "";
    selectedItem = grdMaster[row,3];
    cellValue = Convert.ToString(selectedItem);
    if (cellValue.ToString() == "انتظار")
    c = Color.Blue;
    else if (cellValue.ToString() == "لغو شده")
    c = Color.Red;
    else if (cellValue.ToString() == "تایید شده")
    c = Color.Black ;
    return c;
    }

    public delegate Color delegateGetColorRowCol(int row, int col);
    public class DataGridColoredTextBoxColumn : DataGridTextBoxColumn
    {
    private delegateGetColorRowCol _getColorRowCol;
    private int _column;
    public DataGridColoredTextBoxColumn(delegateGetColorRowCo l getcolorRowCol, int column)
    {
    _getColorRowCol = getcolorRowCol;
    _column = column;
    }


    protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight)
    {
    try
    {
    backBrush = new SolidBrush(Color.White);
    foreBrush = new SolidBrush(_getColorRowCol(rowNum, this._column));
    }

    catch (Exception ex){ /* empty catch */ }
    finally
    {
    base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
    }
    }
    }
    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 10 دی 1394 در 11:33 صبح

  9. #9
    میشه یک راه ساده تر بیان کنید ؟!؟!
    من از کد زیر نتونستم هیچ نتیجه ای بگیرم

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

  1. تغییر سایز فیلدها در Datagrid
    نوشته شده توسط ascpro در بخش VB.NET
    پاسخ: 6
    آخرین پست: چهارشنبه 22 شهریور 1391, 21:29 عصر
  2. چطور جای ستونهای datagrid رو تغییر بدم
    نوشته شده توسط Maryam mohseni در بخش VB.NET
    پاسخ: 8
    آخرین پست: سه شنبه 03 بهمن 1385, 13:11 عصر
  3. تغییرات در DataGrid مانند asp.net?
    نوشته شده توسط saeed_programer در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 16 آبان 1383, 17:36 عصر
  4. ارسال متغییر از طریق لینک روی یکی از ستون datagrid
    نوشته شده توسط jannati در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 04 مهر 1383, 15:22 عصر

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

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