Как найти элемент управления 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;
}