原創(chuàng)|其它|編輯:郝浩|2012-10-15 16:21:48.000|閱讀 6930 次
概述:本文以操作畫(huà)面為主,文字與代碼為輔,對(duì)GridContro的事件進(jìn)行直觀的匯總詳解,非常精細(xì)實(shí)用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
本文以操作畫(huà)面為主,文字與代碼為輔,對(duì)GridContro的事件進(jìn)行直觀的匯總詳解,非常精細(xì)實(shí)用。
private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//鼠標(biāo)的那個(gè)按鈕按下
}
if (e.Clicks == 2)
{
//鼠標(biāo)點(diǎn)擊次數(shù)
}
if (e.Delta > 0)
{
//鼠標(biāo)滾輪滾動(dòng)方向
}
if (e.X > 0 & e.Y > 0)
{
//鼠標(biāo)的坐標(biāo)
}
if (e.RowHandle > 0)
{
//點(diǎn)擊的行號(hào)
}
if (e.CellValue != null)
{
//點(diǎn)擊的單元格中的值
}
if (e.Column != null)
{
//點(diǎn)擊的單元格所屬列信息
}
}
private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
//鼠標(biāo)的那個(gè)按鈕按下
}
if (e.Clicks == 2)
{
//鼠標(biāo)點(diǎn)擊次數(shù)
}
if (e.Delta > 0)
{
//鼠標(biāo)滾輪滾動(dòng)方向
}
if (e.X > 0 & e.Y > 0)
{
//鼠標(biāo)的坐標(biāo)
}
if (e.RowHandle > 0)
{
//點(diǎn)擊的行號(hào)
}
}
重新繪制列樣式事件:gridView1_CustomDrawCell
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (e.Column.FieldName == "數(shù)據(jù)")
{
GridCellInfo GridCellInfo = e.Cell as GridCellInfo;
if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) <= -30)
e.Appearance.BackColor = Color.Yellow;
else if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) > -30
&& double.Parse(GridCellInfo.CellValue.ToString()) <= -50)
e.Appearance.BackColor = Color.Green;
else if (GridCellInfo.IsDataCell && double.Parse(GridCellInfo.CellValue.ToString()) > -50)
e.Appearance.BackColor = Color.Red;
}
}
重新計(jì)算備注事件:gridView1_CalcPreviewText
private void gridView1_CalcPreviewText(object sender, DevExpress.XtraGrid.Views.Grid.CalcPreviewTextEventArgs e)
{
DataRow dr = gridView1.GetDataRow(e.RowHandle);
e.PreviewText = dr["name"].ToString() + " : " + dr["aihao"].ToString();
}
注意:GridView中大多數(shù)事件我們都會(huì)并且必須用到e這個(gè)參數(shù),我們可以從e這個(gè)參數(shù)中獲取很多信息,包括單元格、列、行、表格、GridControl的信息。我們要根據(jù)事件的意義來(lái)了解這個(gè)e是單元格級(jí)別的,或是行級(jí)別的,或是列級(jí)別的等,因?yàn)槲覀兛梢垣@取e的層級(jí)以上的信息,層級(jí)以下的信息就不能獲取了。 e中的屬性都是大同小異,其中最常用的是e.RowHandle這個(gè)屬性,它代表行號(hào)的意思,通過(guò)gridView1.GetDataRow(e.RowHandle)方法可以獲得這一行的數(shù)據(jù)行DataRow;并以此來(lái)做很多操作。
上述我們也說(shuō)過(guò)組行的RowHandle為負(fù)數(shù),我們通過(guò)GetDataRow獲取數(shù)據(jù)行是錯(cuò)誤的,這時(shí)我們通過(guò)gridView1.GetDataRowHandleByGroupRowHandle(e.RowHandle);方法來(lái)轉(zhuǎn)化,這時(shí)得到的數(shù)據(jù)行是該組的第一行數(shù)據(jù)。在此我們需特別注意。如果加入上述轉(zhuǎn)換,我們選擇數(shù)據(jù)時(shí)每組第一行數(shù)據(jù)就會(huì)重復(fù),我們要做去重復(fù)處理。
皮膚設(shè)置
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:nanchuan的專(zhuān)欄-CSDN