62,047
社区成员
发帖
与我相关
我的任务
分享
<asp:GridView ID="grid" runat ="server" Width ="100%" AllowPaging ="True" AllowSorting ="True"
ShowHeaderWhenEmpty ="True" AutoGenerateColumns="False" PageSize ="20"
DataKeyNames="Id" >
<Columns>
<asp:TemplateField HeaderText="选择" >
<ItemTemplate>
<asp:CheckBox Id="chk" runat="server" />
</ItemTemplate>
</asp:TemplateField>
'其他的TemplateField
<asp:TemplateField HeaderText="选择" >
<ItemTemplate>
<asp:Label Id="lblAvailable" runat="server" Text='<%# Bind("容量"") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="已选" >
<ItemTemplate>
<asp:Label ID="lblChosenCount" runat="server" Text='<%# Bind("已选"") %>' OnDataBinding="DoThisJob"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
程序代码
Protected Sub DoThisJob (ByVal sender As Object, ByVal e As EventArgs)
Dim lbl As Label = DirectCast(sender, Label)
Dim row As GridViewRow = DirectCast(lbl.NamingContainer, GridViewRow)
Dim lblA As Label = row.FindControl("lblAvailable")
If Convert.ToInt32(lbl.Text) >= Convert.ToInt32(lblA.Text) Then
Dim chk As CheckBox = row.FindControl("chk")
chk.Enabled = False
chk.ToolTip = "学员已满"
End If
End Sub
选择课程并保存后,绑定一次GridView即可。
protected void GV_CheckFree_RowDataBound(object sender, GridViewRowEventArgs e)
{
//对新行限制
if (e.Row.RowType == DataControlRowType.DataRow)
{
if()//判断选课人数
e.Row.Cells[1].Enabled = false;//选择列不可用
}
}