Questo è correlato a un GridView di XExGrid di DevExpess.Rimozione dell'icona Drilldown Plus (+) da XtraGrid GridView's MasterRow quando ChildRow non ha dati
Ho bisogno di rimuovere lo drilldown plus icon (+)
da qualsiasi MasterRow in un GridView che non ha dati per il suo ChildRow.
Attualmente, tutte le righe (MasterRows) nel mio GridView visualizzano drilldown plus icon (+)
. Quando si fa clic su drilldown plus icon (+)
, la ChildRow viene visualizzata con i dati appropriati. Ma se ChildRow non ha dati, la ChildRow non viene visualizzata (espansa). Devo rendere invisibile lo drilldown plus icon (+)
in modo che l'utente non lo veda se non ci sono dati in ChildRow.
Ho una funzione che verifica se i dati sono disponibili per ChildRow, che consente quindi a ChildRow di visualizzare (espandere) o meno.
Ho utilizzato GridView.OptionsView.ShowDetailButtons
ma che nasconde lo drilldown plus icons (+)
su tutte le righe. Questo non funziona per me dal momento che ho solo bisogno di nasconderlo se non ci sono dati per il ChildRow.
Ecco il codice che ho finora:
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:";
}
Qualsiasi direzione o suggerimento sarebbe molto apprezzato.
Grazie in anticipo,
Marwan (^_^)
questo ha funzionato splendidamente ... Grazie! –