关于devexpress aspxgridview 控件的行过滤自定义设置,默认情况下,用于编辑筛选行中的单元格值的编辑器与用于编辑相应列的值的编辑器相同。ASPxGridView允许用自定义编辑器替换这些默认编辑器。
即:ASPxGridView.AutoFilterCellEditorCreate事件。
为筛选器行中的每个单元格引发此事件。event参数提供Column属性(用于标识已处理的筛选行单元格)和Value属性(用于返回已处理单元格的值)。若要替换用于创建默认编辑器的设置,请创建EditPropertiesBase子体,并将其指定给事件参数的EditorProperties属性。
若要初始化显示在筛选器行中的单元格编辑器(默认和/或自定义),请处理ASPxGridView.AutoFilterCellEditorInitialize事件。此事件在ASPxGridView中显示筛选器行之前引发。
代码实例如下:
protected void ASPxGridView1_AutoFilterCellEditorCreate(object sender, ASPxGridViewEditorCreateEventArgs e)
{
if (e.Column.FieldName == "主车号")
{
ComboBoxProperties combo = new ComboBoxProperties();
e.EditorProperties = combo;
}
}
protected void ASPxGridView1_AutoFilterCellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)
{
if (e.Column.FieldName == "主车号")
{
ASPxComboBox combo = e.Editor as ASPxComboBox;
combo.ValueType = typeof(string);
DataTable temp_dt = SqlHelper.ExecuteDataTable("select distinct 主车号 from 车辆开支", new SqlParameter[] { });
foreach (DataRow dr in temp_dt.Rows)
{
combo.Items.Add(dr["主车号"].ToString().Trim());
}
}
}