if (!grid.IsEditing && e.RowType == DevExpress.Web.ASPxGridView.GridViewRowType.Data) {
// ²Ù×÷ Label ¿Ø¼þ
Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, \ent\as Label;
decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, \ label.Text = string.Format(\change); // ²Ù×÷ Image ¿Ø¼þ
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)grid.FindRowCellTemplateControl(e.VisibleIndex, null, \ img.Visible = false; if(change != 0) {
img.Visible = true;
img.ImageUrl = change < 0 ? \: \\
label.ForeColor = change < 0 ? Color.Red : Color.Green; } } }
×¢£ºÄ£°åÁÐÖеÄʼþÈçºÎд£¿ÊÖ¹¤Ð´Ê¼þ£¬Èçbtn.OnClick += ...; ×¢£ºÊÓͼģ°åÇë²Î¿¼Îĵµ¡¶ASPxGridView.Templates¡·
ASPxGridView ʼþ
RowCreated£¨´´½¨ÐÐÊý¾Ýʱ´¥·¢£¬ÀàËÆ GridView µÄ DataItemCreate ʼþ£©
protected void grid_HtmlRowCreated(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewTableRowEventArgs e) {
if(e.RowType != DevExpress.Web.ASPxGridView.GridViewRowType.Data) return; // ÉèÖÃÄ£°åÁÐlable¿Ø¼þÖµ
Label label = grid.FindRowCellTemplateControl(e.VisibleIndex, null, \\as Label;
decimal change = (decimal)grid.GetRowValues(e.VisibleIndex, \ label.Text = string.Format(\change); // ÉèÖÃÄ£°åÁÐimage¿Ø¼þµÄͼÏñ
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)grid.FindRowCellTemplateControl(e.VisibleIndex, null, \
img.Visible = false; if(change != 0) { img.Visible = true;
img.ImageUrl = change < 0 ? \: \ label.ForeColor = change < 0 ? Color.Red : Color.Green; } }
HtmlRowPrepared£¨ÐÐ×¼±¸£¿¿ÉÔÚ´ËÉèÖÃÐеÄչʾЧ¹û£¬Èç±³¾°£©
protected void grid_HtmlRowPrepared(object sender, ASPxGridViewTableRowEventArgs e) {
bool hasError = e.GetValue(\<= 1; hasError = hasError || e.GetValue(\<= 1; hasError = hasError || !e.GetValue(\ hasError = hasError || (int)e.GetValue(\< 18; DateTime arrival = (DateTime)e.GetValue(\
hasError = hasError || DateTime.Today.Year != arrival.Year || DateTime.Today.Month != arrival.Month; if(hasError) {
e.Row.ForeColor = System.Drawing.Color.Red; } }
UnboundColumnData £¨·Ç°ó¶¨ÁÐÊý¾ÝÌî³ä£©
protected void grid_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDataEventArgs e) {
if(e.Column.FieldName == \ {
decimal price = (decimal)e.GetListSourceFieldValue(\ int quantity = Convert.ToInt32(e.GetListSourceFieldValue(\ e.Value = price * quantity; } }
CustomColumnDisplayText£¨¶¨ÖÆÁÐÎı¾Õ¹Ê¾£©
protected void grid_CustomColumnDisplayText(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDisplayTextEventArgs e) {
if(object.Equals(e.Column, grid.Columns[\
e.DisplayText = GetSizeDisplayText(e.Value); }
SummaryDisplayText£¨ºÏ¼ÆÐÐÎı¾Õ¹Ê¾£©
protected void grid_SummaryDisplayText(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewSummaryDisplayTextEventArgs e) { if(e.Item.FieldName == \{ e.Text = GetSizeDisplayText(e.Value); } }
HeaderFilterFillItems£¨×Ô¶¨Òå¹ýÂËÆ÷´¦ÀíÂß¼£©
protected void grid_HeaderFilterFillItems(object sender, ASPxGridViewHeaderFilterEventArgs e) {
if(object.Equals(e.Column, grid.Columns[\{ PrepareTotalFilterItems(e); return; }
if(object.Equals(e.Column, grid.Columns[\{ PrepareQuantityFilterItems(e); return; } }
--------------------------------------------------------- »Øµ÷´¦Àí
--------------------------------------------------------- CustomCallback£¨Ajax »Øµ÷´¦Àí£©
protected void grid_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) {
int layoutIndex = -1;
if(int.TryParse(e.Parameters, out layoutIndex)) ApplyLayout(layoutIndex); // ¸ü»»²¼¾Ö }
CustomButtonCallback£¨¶¨Öư´Å¥µÄajax»Øµ÷´¦Àí£©
protected void grid_CustomButtonCallback(object sender, ASPxGridViewCustomButtonCallbackEventArgs e) {
if(e.ButtonID != \return; copiedValues = new Hashtable();
foreach(string fieldName in copiedFields)
copiedValues[fieldName] = grid.GetRowValues(e.VisibleIndex, fieldName);
grid.AddNewRow(); }
--------------------------------------------------------- ±à¼ÊÓͼ
--------------------------------------------------------- InitNewRow£¨Ð½¨ÐеÄÊý¾Ý³õʼ»¯´¦Àí£©
protected void grid_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e) {
if(copiedValues == null) return;
foreach(string fieldName in copiedFields) {
e.NewValues[fieldName] = copiedValues[fieldName]; } }
CellEditorInitialize£¨±à¼Æ÷³õʼ»¯£©
protected void grid_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e) {
if(grid.IsEditing && !grid.IsNewRowEditing && e.Column.FieldName == \ {
string country = (string)grid.GetRowValuesByKeyValue(e.KeyValue, \ ASPxComboBox combo = e.Editor as ASPxComboBox; FillCityCombo(combo, country);
combo.Callback += new CallbackEventHandlerBase(cmbCity_OnCallback); } }
StartRowEditing£¨¿ªÊ¼±à¼£©
protected void grid_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartR