مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

ایجاد RowFormatting بصورت runTime

  • یکشنبه 14 شهریور 1395
  • 13:53
تشکر میکنم

سلام 
من کد زیر را نوشته ام و یک دیتاگرید بصورت آنلاین ایجاد کرده ام و اطلاعات داخل آنرا هم ست کرده ام 

using System;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using Telerik.WinControls.UI;

namespace DataGrid
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        private RadGridView myNewGrid;
        private void Form2_Load(object sender, EventArgs e)
        {
            myNewGrid = new RadGridView();
            ((ISupportInitialize)(myNewGrid)).BeginInit();
            SuspendLayout();
            myNewGrid.Name = "dgView";
            myNewGrid.TabIndex = 0;
            myNewGrid.Parent = this;
            myNewGrid.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
            myNewGrid.Dock = DockStyle.Fill;
            myNewGrid.RightToLeft = RightToLeft.Yes;
            ((ISupportInitialize)(myNewGrid)).EndInit();
            this.ResumeLayout(true);
            myNewGrid.Visible = true;
            DataTable table = new DataTable();
            using (var con = new SqlConnection("Data Source=.;Initial Catalog=DbExample;Integrated Security=True"))
            using (var cmd = new SqlCommand("test", con))
            using (var da = new SqlDataAdapter(cmd)) { cmd.CommandType = CommandType.StoredProcedure; da.Fill(table); }
            myNewGrid.DataSource = table;


        }
    }
}

حال چگونه می توانم برای این دیتاگریدی که ایجاد گرده ام ایونت 

myNewGrid_RowFormatting

ایجاد کنم تا سطرهای موچود در دیتاگرید را یکی درمیان رنگی کنم 
باتشکر 

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • یکشنبه 14 شهریور 1395
  • 14:28

برای ایجاد رویداد داخل کد کافی ست جلوی رویداد یک += قرار دهید و نام متد مورد نظرتون رو بنویسید.

myNewGrid.RowFormatting += myNewGrid_RowFormatting;
void myNewGrid_RowFormatting(object sender, RowFormattingEventArgs e)
        {
            e.RowElement.DrawFill = true;
            if (e.RowElement.IsCurrent)
            {
                e.RowElement.BackColor = Color.FromArgb(0x10, 0xC0, 0xFF);
            }
            else
            {
                if (e.RowElement.IsOdd)
                {
                    e.RowElement.BackColor = Color.Orange;
                }
                else
                {
                    e.RowElement.BackColor = Color.White;
                }
            } 
            
        }

نکته دیگه اینکه اگر بخواهید خط رکورد های  یک خط در میان رنگی شود میتوانید از Property های خود RadGridView استفاده کنید :

myNewGrid.EnableAlternatingRowColor = true;
myNewGrid.TableElement.AlternatingRowColor = Color.Yellow;

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)