gpt4 book ai didi

c# - 验证 Gridview

转载 作者:行者123 更新时间:2023-11-30 13:43:01 24 4
gpt4 key购买 nike

我有一个 gridview,我想在它处于编辑模式时对其进行验证。我该怎么做?

下面是我的 Gridview,下面是我的第一次尝试。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataSourceID="SqlDataSource1" BackColor="White" BorderColor="#999999"
BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical"
Width="387px" DataKeyNames = "APPID" AllowPaging="True">
<PagerSettings Mode="NextPreviousFirstLast" />
<RowStyle BackColor="#EEEEEE" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="APPName" HeaderText="Application"
SortExpression="APPName" />
<asp:BoundField DataField="Description" HeaderText="Description"
SortExpression="Description" />
<asp:CommandField AccessibleHeaderText="Edit" ButtonType="Image"
DeleteImageUrl="~/images/bttnDelete.gif"
EditImageUrl="~/images/bttnEdit.gif" HeaderText="Action"
ShowDeleteButton="True" ShowEditButton="True"
ShowHeader="True" CancelImageUrl="~/images/bttnCancel.gif"
UpdateImageUrl="~/images/bttnSave.gif" InsertVisible="False" />
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="#DCDCDC" />
</asp:GridView>

第一次尝试

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

If e.Row.RowState = DataControlRowState.Edit Then

Dim savebtn As ImageButton = DirectCast(e.Row.Cells(2).Controls(0), ImageButton)
savebtn.ValidationGroup = "grd"

'set up Name Textbox
Dim txtname As TextBox = DirectCast(e.Row.Cells(0).Controls(0), TextBox)
txtname.ValidationGroup = "grd"


Dim reqval As New RequiredFieldValidator
reqval.ID = "reqnam"
reqval.ValidationGroup = "grd"

reqval.ErrorMessage = "Application Name Cannot Be Empty"
reqval.ControlToValidate = txtname.UniqueID

End If

最佳答案

最好的办法是将 BoundField 转换为 TemplateField 并将验证控件添加到 EditItemTemplate。所以你的第一列会变成:

<asp:TemplateField HeaderText="Application" SortExpression="APPName">
<EditItemTemplate>
<asp:TextBox ID="txtApp" runat="server" Text='<%# Bind("APPName") %>'/>
<asp:RequiredFieldValidator runat='server' ID='requiredApp'
ErrorMessage='Application Name Cannot Be Empty' ControlToValidate='txtApp' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="labelApp" runat="server" Text='<%# Bind("APPName") %>'/>
</ItemTemplate>
</asp:TemplateField>

关于c# - 验证 Gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com