Esto está relacionado con un GridView de un DevExpess XtraGrid.Quitar el icono de Drilldown Plus (+) del MasterRow de XtraGrid GridView cuando ChildRow no tiene datos
Necesito eliminar el drilldown plus icon (+)
de cualquier MasterRow en un GridView que no tenga ningún dato para su ChildRow.
Actualmente, todas las filas (MasterRows) en mi GridView muestran el drilldown plus icon (+)
. Cuando se hace clic en drilldown plus icon (+)
, ChildRow se muestra con los datos apropiados. Pero, si el ChildRow no tiene datos, entonces el ChildRow no se muestra (expandido). Necesito hacer el drilldown plus icon (+)
invisible para que el usuario no lo vea si no hay datos en el ChildRow.
Tengo una función que comprueba si hay datos disponibles para el ChildRow, lo que permite que el ChildRow se muestre (expanda) o no.
He usado GridView.OptionsView.ShowDetailButtons
pero eso oculta el drilldown plus icons (+)
en todas las filas. Eso no funciona para mí, ya que solo necesito ocultarlo si no hay datos para el ChildRow.
Aquí está el código que tengo hasta ahora:
private void gridView1_MasterRowGetRelationCount(object sender, MasterRowGetRelationCountEventArgs e)
{
e.RelationCount = 1;
}
private void gridView1_MasterRowEmpty(object sender, MasterRowEmptyEventArgs e)
{
e.IsEmpty = IsRelationEmpty(e.RowHandle, e.RelationIndex);
}
bool IsRelationEmpty(int rowHandleX, int relationIndex)
{
Tuple<string, double, double> row = (Tuple<string, double, double>)gridView1.GetRow(rowHandleX);
return rowHandleX == DevExpress.XtraGrid.GridControl.InvalidRowHandle || _tfs._dataDictionary[row.Item1.ToString()].Item2.Count == 0;
}
private void gridView1_MasterRowGetChildList(object sender, MasterRowGetChildListEventArgs e)
{
if (IsRelationEmpty(e.RowHandle, e.RelationIndex))
{
return;
}
Tuple<string, double, double> row = (Tuple<string, double, double>)gridView1.GetRow(e.RowHandle);
e.ChildList = _tfs._dataDictionary[row.Item1.ToString()].Item2.ToList(); // _tfs.DictionaryToList();
}
private void gridView1_MasterRowGetRelationName(object sender, MasterRowGetRelationNameEventArgs e)
{
e.RelationName = "Work Items with no Size Estimate:";
}
cualquier dirección o sugerencias serán bienvenidos.
Gracias de antemano,
Marwan (^_^)
Esto funcionó muy bien ... Gracias! –