1)操作列:增加、编辑和删除
<dx:GridViewCommandColumn Caption="操作" VisibleIndex="1" HeaderStyle-HorizontalAlign="Center" Width="8%">
<EditButton Text="编辑" Visible="True">
</EditButton>
<NewButton Text="添加" Visible="false">
</NewButton>
<DeleteButton Text="删除" Visible="true" ></DeleteButton>
<UpdateButton Text="保存" Visible="True"> --编辑和添加的保存
</UpdateButton>
<CancelButton Visible="true" Text="取消"> --编辑和添加的取消
</CancelButton>
<ClearFilterButton Visible="True" Text="取消"> --查询的取消
</ClearFilterButton>
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
</dx:GridViewCommandColumn>
编辑和添加的信息的显示形式也可以改变有相应的属性例如:
<SettingsEditing EditFormColumnCount="3" Mode="EditForm"></SettingsEditing>
这是以editform的显示形式,每行显示3条数据
注:在事件中必须写:
e.Cancel = true;
aspxGridView.CancelEdit();
否则会报错
2) 如果添加不想放到列表中可以单独拿出来,从页面的“查看源文件”中找到添加的js函数,拿过来就可以了
例如:<div class="CommonBtn MenuBtn" style="float: left;width: 80px; cursor:pointer; margin-top:0px;" οnclick="window.setTimeout(function(){aspxGVAddNewRow('aspxGridUser');},0)">
<span class="deleteicon"></span><span class="menuText">添加用户信息</span></div>
点击他也可以添加和上面的添加效果是一样的
3)验证:
有两种一种页面的还有后台的
后台的事件:OnRowValidating="aspxGridView_RowValidating"
protected void aspxGridUnit_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
{
if (e.NewValues["CompanyCode"] == null || e.NewValues["CompanyCode"].ToString().Trim().Length < 1)
{
AddError(e.Errors, aspxGridUnit.Columns["CompanyCode"], "企业编码不能为空");
}
if (string.IsNullOrEmpty(e.RowError) && e.Errors.Count > 0) e.RowError = "请正确填写.";
}
private void AddError(Dictionary<GridViewColumn, string> errors, GridViewColumn column, string errorText)
{
if (errors.ContainsKey(column)) return;
errors[column] = errorText;
}
前台的验证:
<dx:GridViewDataTextColumn Caption="登陆名称" VisibleIndex="3" FieldName="LoginName" Width="5%"
>
<Settings AutoFilterCondition="Contains"></Settings>
<PropertiesTextEdit><ValidationSettings ErrorDisplayMode="ImageWithTooltip" > <RequiredField IsRequired="true" ErrorText="登陆名称不能为空"/></ValidationSettings></PropertiesTextEdit>
</dx:GridViewDataTextColumn>
注:有的时候需要在新增或者辩解的事件中做验证
因为在事件中所有的弹出事件都不管用,所以可以这样做:这算是取巧的方法了
protected void aspxGridUser_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
throw new Exception("已有相同登录名,请重新填写");
e.Cancel = true;
return;
}