DEV-aspxgridview多行可编辑ASPxTextBox

相关的文章有很多

参考一:某一列全部可编辑,也可保存,使用datasource控件

https://www.devexpress.com/Support/Center/Example/Details/E324

演示:http://codecentral.devexpress.com/E324/

下面讲述,某一列部分行不可编辑,其余行可编辑的情况。

aspxgridview可编辑的原因主要是<Columns>中插入了类似于下面的语句:

 <dxwgv:GridViewDataTextColumn FieldName="Description" VisibleIndex="2">
                    <DataItemTemplate>                
                        <dxe:ASPxTextBox ID="txtBox" Width="100%" runat="server" Value='<%# Eval("Description")%>'></dxe:ASPxTextBox>                
                    </DataItemTemplate>                        
</dxwgv:GridViewDataTextColumn>

这样插入的行全部可以编辑,要是其部分不能编辑。可在后台添加事件:

protected void ASPxGridView1_HtmlDataCellPrepared1(object sender, ASPxGridViewTableDataCellEventArgs e)
{
if (e.DataColumn.FieldName == "Data1")
{
ASPxTextBox textBox = ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "ASPxTextBox1") as ASPxTextBox;
//ASPxLabel Label1 = ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "ASPxLabel1") as ASPxLabel;
if (ASPxGridView1.GetRowValues(e.VisibleIndex, "Fill").ToString() == "False")
{

textBox.Text = "--";
textBox.Visible = false;
}

}

}

前台主要需要修改的编码如下

 <dx:GridViewDataTextColumn 
                                                    VisibleIndex="5" FieldName="Data1" Visible="False" Width="200px">
                                                    <DataItemTemplate>
                                                    <dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Width="100px" Value='<%# Eval("Data1")%>' >                     
                                            <ValidationSettings ValidationGroup="ValueValidationGroup" Display="Dynamic">
                                                <RegularExpression ErrorText="请输入数字!" ValidationExpression="^-?[1-9]+(\.\d+)?$|^-?0(\.\d+)?$|^-?[1-9]+[0-9]*(\.\d+)?$" />
                                            </ValidationSettings>
                                                    </dx:ASPxTextBox>

其中:vailidation 是对你写入的字进行验证,后台获得验证结果的方式:是在后台代码获得textBox之后,textBox.IsValid 为真验证成功,为假验证失败

参考二:

程序效果:http://codecentral.devexpress.com/E1468/

程序编码:https://www.devexpress.com/Support/Center/Example/Details/E1468

改程序可以前台改变aspxgridview中的一些控件的可用不可用性  值得一看!

posted @ 2015-06-30 18:40  丝竹之约  阅读(1303)  评论(0编辑  收藏  举报