Impossibile ottenere il nome di colonna della cella su cui è stato fatto clic in GridControl di XtraGrid. Come lo posso fare? Sto gestendo l'evento GridView.Click
.Come fare clic su colonna cellulare su DevExpress XtraGrid
8
A
risposta
19
All'interno dell'evento click è possibile risolvere il cellulare cliccato come segue:
void gridView_Click(object sender, EventArgs e) {
Point clickPoint = gridControl.PointToClient(Control.MousePosition);
var hitInfo = gridView.CalcHitInfo(clickPoint);
if(hitInfo.InRowCell) {
int rowHandle = hitInfo.RowHandle;
GridColumn column = hitInfo.Column;
}
}
Tuttavia, vi consiglio di gestire l'evento GridView.MouseDown come segue (perché l'evento GridView.Click non si verifica se fa clic su un cella della griglia attiva un editor di colonna):
gridView.MouseDown += new MouseEventHandler(gridView_MouseDown);
//...
void gridView_MouseDown(object sender, MouseEventArgs e) {
var hitInfo = gridView.CalcHitInfo(e.Location);
if(hitInfo.InRowCell) {
int rowHandle = hitInfo.RowHandle;
GridColumn column = hitInfo.Column;
}
}
Link correlati: Hit Information Overview
Come posso fare questo in DevExpress mvc? –