Родитель этой сетки: Проект с ребенком Спецификация. Мне удалось отобразить дочернюю сетку, используя следующий код.Удалить столбец из детского сетки
private void gridView_MasterRowEmpty(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowEmptyEventArgs e)
{
Project projects = (Project)gridView.GetRow(e.RowHandle);
e.IsEmpty = projects.BOMs.Count == 0;
}
private void gridView_MasterRowGetRelationCount(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetRelationCountEventArgs e)
{
e.RelationCount = 1;
}
private void gridView_MasterRowGetRelationName(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetRelationNameEventArgs e)
{
e.RelationName = "BOMs";
}
private void gridView_MasterRowGetChildList(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetChildListEventArgs e)
{
Project projects = (Project)gridView.GetRow(e.RowHandle);
e.ChildList = new BindingSource(projects, "BOMs");
}
Однако код показывает мне все столбцы. Я хотел бы скрыть некоторые столбцы от ребенка, который является Спецификация.
Единственный способ я нашел, чтобы использовать что-то вроде ниже
dataGridView1.Columns[index].Visible = false;
Но где я должен поместить код выше?
Обновленный код
private void gridView_MasterRowExpanded(object sender, DevExpress.XtraGrid.Views.Grid.CustomMasterRowEventArgs e)
{
GridView gridView = sender as GridView;
GridView detailView = (GridView)gridView.GetDetailView(e.RowHandle, e.RelationIndex);
detailView.Columns["Column Name"].Visible = false;
}
Спасибо за ваш ответ. Ваш ответ дал мне направление. Однако я внес некоторые изменения в это. Проверьте обновленный код. – active92