RizwanShaikh Ответов: 0

Как найти элемент управления gridview в форме C#


Вот В Чем Моя Проблема ..
У меня есть управление multipel GridView на Windows From ...Как найти элемент управления GridView ..
Что Я Делаю??

Что я уже пробовал:

var Dgv = Cls_NDBO.GetControlByType(this, typeof(GridView));
           foreach (var control in Dgv)
           {
               // var grid = (GridView)control;
               GridView g = control as GridView;
               string intpu = grid.Name.Replace("Dgv_", string.Empty).ToString();
               Insertion(grid, intpu);
           }


internal static IEnumerable<Control> GetControlByType(Control control, Type type)
       {
           var controls = control.Controls.Cast<Control>();
           var enumerable = controls as Control[] ?? controls.ToArray();
           return enumerable.SelectMany(ctrl => GetControlByType(ctrl, type)).Concat(enumerable).Where(predicate: c => c.GetType() == type).OrderBy(c => c.TabIndex);
       }

CHill60

Ну, у вас есть какой-то код для вызова, чтобы получить все GridViews в форме (вы уверены, что это приложение WinForms?). Вы можете отфильтровать этот список по имени нужного вам GridView ... или пройдите через каждый из них, как вы уже делаете.
Что не так с кодом, который у вас уже есть?

Altaf Ansari

Вы создаете DataGridView во время выполнения??
пожалуйста, поделитесь с вами, чтобы лучше понять..

RizwanShaikh

var Dgv1 = GetControlByBaseType(this, typeof(GridControl));
foreach (управление GridControl в Dgv1)
{
GridView grd = (GridView)управление.MainView;
Ящик для сообщений.Показать(grd.Name);
}

внутренний статический IEnumerable<control> GetControlByBaseType(Control control, string type)
{
var controls = контроль.Управления.Литой<контроль>();
управление возвратом.SelectMany(ctrl => GetControlByBaseType(ctrl, type)).Конкат(управление).Где(c => c.GetType().BaseType.Именованный тип).Заказатьпо(с =&ГТ; в.Свойство tabindex);
}
я этим методом пользуюсь, сэр..
моя проблема в совле

RizwanShaikh

Никакого Альтафа Ансари.
У меня есть создание времени разработки datagridView.

RizwanShaikh

Моя Проблема-Совл..
var Dgv = Cls_NDBO.GetControlByType(this, typeof(GridControl));
foreach (управление GridControl в Dgv)
{
GridView grd = (GridView)управление.MainView;

если (ГРД != grd_Subjects &амп;&амп; ГРД != grd_Compulsory_Subjects)
{
строка intpu = grd.Name-да.Заменить("grd", строка.Пустой).Метод toString();
Cls_NDBO.Show_Wait_Form(splashScreenManager, "Dlete" + intpu);
Cmd = new SqlCommand("удалить из SM_SUBJECT_GROUP_MASTER, где batch_no ='" + Cls_SM_Variables.Batch_No + "' и class_id=" + cmb_Class.EditValue + " и subject_group='" + Main_subject_grou + intpu + "' ", Cls_DBO.CMS3_Conn);
УМК.Метод executenonquery();
}
}
Этот Метод Используется

RizwanShaikh

var Dgv1 = Cls_NDBO.GetControlByType(this, typeof(GridControl));
foreach (управление GridControl в Dgv1)
{
GridView grd = (GridView)управление.MainView;


}

0 Ответов