DataGrid Bind Checkbox
前台面页Menu_Config.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="Menu_Config.ascx.vb" Inherits="LiveWork.Menu_Confirg" %>
<table border="0" cellpadding="0" cellspacing="0" height="100%" style="width: 100%">
<tr>
<td valign="top">
&nbsp;<table border="1" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td colspan="2" style="height: 14px" valign="top">
Role Information</td>
</tr>
</table>
<table border="1" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 3201px; height: 11px" valign="top">
<asp:Label ID="Label_Role" runat="server" Text="Role" Width="90px"></asp:Label>
<asp:DropDownList ID="DropDownList_Role" runat="server" Width="183px" Height="27px">
</asp:DropDownList>
<asp:Button ID="Button_Retrieve" runat="server" OnClientClick="Retrieve_Click" Text="Retrieve" /></td>
<td style="width: 679px; height: 11px" valign="top">
<asp:HyperLink ID="HyperLink2" runat="server" Font-Size="X-Small" NavigateUrl="~/role.aspx"><img src="img/add.gif" border="0" align="absbottom">&nbsp;New Role</asp:HyperLink></td>
</tr>
</table>
<table border="1" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 671px; height: 7px" valign="top">
</td>
</tr>
</table>
<table border="1" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 100%; height: 7px" valign="top">
<asp:DataGrid ID="DataGrid_MenuConfigList" runat="server" AutoGenerateColumns="False" BackColor="#F7F7F7"
BorderColor="#F7F7F7" BorderStyle="Solid" BorderWidth="1px" CssClass="table"
DataKeyField="Menu_ID" Font-Size="X-Small" Width="100%">
<FooterStyle CssClass="headcenter" />
<EditItemStyle BackColor="Black" ForeColor="Black" Width="100%" />
<SelectedItemStyle BackColor="Transparent" />
<AlternatingItemStyle BackColor="White" BorderColor="White" />
<ItemStyle BackColor="#DEDFDE" CssClass="textcenter" />
<HeaderStyle CssClass="headcenter" />
<Columns>
<asp:TemplateColumn HeaderText="Choice ALL">
<HeaderTemplate>
<asp:CheckBox id="CheckBox_All" runat="server" Text="ALL" OnCheckedChanged="CheckAll" AutoPostBack="True"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="CheckBox_Role" runat="server"></asp:CheckBox>
</ItemTemplate>
<HeaderStyle Width="10px" />
</asp:TemplateColumn>
<asp:BoundColumn DataField="Role_Name"HeaderText="Role">
<HeaderStyle Width="60px" />
</asp:BoundColumn>
<asp:BoundColumn DataField="Menu_ID" HeaderText="Menu ID">
<HeaderStyle Width="0px" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />
</asp:BoundColumn>
<asp:BoundColumn DataField="Menu_Name" HeaderText="Menu name">
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="Permissions">
<ItemTemplate>
<asp:DropDownList ID="DropDownList_Flag" runat="server" Width=160></asp:DropDownList>
</ItemTemplate>
<HeaderStyle Width="160px" />
</asp:TemplateColumn>
</Columns>
</asp:DataGrid></td>
</tr>
</table>
</td>
</tr>
</table>
后台代码
Namespace LiveWork
Partial Class Menu_Confirg
Inherits System.Web.UI.UserControl
Sub InitializeComponent()
AddHandler Me.Load, AddressOf Me.Page_Load
End Sub
Private Sub BindRole()
Dim sql As String
sql = "select * from tb_role where status='A' "
Me.DropDownList_Role.DataSource = Live.Ado.ADOProxy.GetRowsByQuery(sql)
Me.DropDownList_Role.DataTextField = "Role_Name"
Me.DropDownList_Role.DataValueField = "Role_ID"
Me.DropDownList_Role.SelectedIndex = 0
Me.DropDownList_Role.DataBind()
End Sub
Private Sub BindFlag()
Dim ds As DataSet = Live.Ado.ADOProxy.GetAllRows("TB_Flag")
For Each lobj_dgi As DataGridItem In Me.DataGrid_MenuConfigList.Items
Dim dl As DropDownList = CType(lobj_dgi.FindControl("DropDownList_Flag"), DropDownList)
dl.DataSource = ds
dl.DataTextField = "Flag_Name"
dl.DataValueField = "Flag_ID"
dl.DataBind()
Next
End Sub
Private Sub MenuConfig(ByVal lstg_role_id As String)
Dim sql As New System.Text.StringBuilder
sql.Append("(select a.role_id,c.role_name,b.menu_id,b.menu_name,a.flag_id,d.flag_name ")
sql.Append("from tb_role_menu a,tb_menu b,tb_role c,tb_flag d ")
sql.Append("where a.role_id=c.role_id ")
sql.Append("and a.menu_id = b.menu_id ")
sql.Append("and a.flag_id = d.flag_id ")
sql.Append("and a.status ='A' ")
sql.Append("and a.role_id='" & lstg_role_id & "')")
sql.Append("union all ")
sql.Append("( ")
sql.Append("select role_id='-',role_name='-',menu_id,menu_name,flag_id='-',flag='-' ")
sql.Append("from tb_menu ")
sql.Append("where menu_id not in ")
sql.Append("(select menu_id from tb_role_menu ")
sql.Append("where role_id ='" & lstg_role_id & "') ")
sql.Append(") ")
Dim ds As DataSet = Live.Ado.ADOProxy.GetRowsByQuery(sql.ToString)
Me.DataGrid_MenuConfigList.DataSource = ds
Me.DataGrid_MenuConfigList.DataBind()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindRole()
'MenuConfig(Me.DropDownList_Role.SelectedValue)
End If
End Sub
Protected Sub CheckAll(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sql As String
sql = "select * from tb_role where role_id='" & Me.DropDownList_Role.SelectedValue & "' and status='A'"
Dim lobj_cb As CheckBox = CType(sender, CheckBox)
Dim ds As DataSet = Live.Ado.ADOProxy.GetRowsByQuery(sql)
For Each lobj_dgi As DataGridItem In Me.DataGrid_MenuConfigList.Items
Dim cb As CheckBox = CType(lobj_dgi.FindControl("CheckBox_Role"), CheckBox)
cb.Checked = lobj_cb.Checked
Next
End Sub
Private Function GetRoleMenuFlag(ByVal lstg_menu_id As String) As DataSet
Dim sql As String
sql = "select a.Flag_ID,b.Flag_Name from tb_role_menu a,tb_flag b where role_id='" & Me.DropDownList_Role.SelectedValue & "' and a.flag_id=b.flag_id and status='A'"
Dim ds As DataSet = Live.Ado.ADOProxy.GetRowsByQuery(sql)
Return ds
End Function
Protected Sub CheckRoleMenu()
For Each lobj_dgi As DataGridItem In Me.DataGrid_MenuConfigList.Items
If lobj_dgi.Cells(1).Text <> "-" Then
Dim cb As CheckBox = CType(lobj_dgi.FindControl("CheckBox_Role"), CheckBox)
cb.Checked = True
Dim dl As DropDownList = CType(lobj_dgi.FindControl("DropDownList_Flag"), DropDownList)
dl.SelectedValue = GetRoleMenuFlag(lobj_dgi.Cells(2).Text).Tables(0).Rows(0).Item("flag_id").ToString
End If
Next
End Sub
'Protected Sub Button_Retrieve_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_Retrieve.Click
' MenuConfig(Me.DropDownList_Role.SelectedValue)
' BindFlag()
' CheckRoleMenu()
'End Sub
Protected Sub Retrieve_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_Retrieve.Click
MenuConfig(Me.DropDownList_Role.SelectedValue)
BindFlag()
CheckRoleMenu()
End Sub
End Class
End Namespace

Note:

Result:

DataGrid Bind Checkbox....相关推荐

  1. [收藏]为DataGrid添加CheckBox控件

    作者:孟宪会 出自:[孟宪会之精彩世界] 发布日期:2003年5月23日 8点26分11秒 为DataGrid添加CheckBox控件,并实现"全选"功能.这里是实现的例子 VB. ...

  2. 【转帖】如何通过 javascript 访问 GridView/DataGrid 选中 CheckBox 行各列的值

    功能需求 1,  单击 checkbox 返回当前行值 2,  外部按钮获取所有选择行的值 实现说明 参见主要代码,代码为自说明式. 原文地址:http://www.cnblogs.com/Jingl ...

  3. datagrid加checkbox实现分页不丢失选择的记录 (转)

    namespace checkboc_page {  /// <summary>  /// WebForm1 的摘要说明.  /// </summary>  public cl ...

  4. DataGrid添加CheckBox(下拉列表)

    DataGrid中如何添加下拉列表呢?如下是实现的代码: DataGrid中的列 <mx:DataGridColumn headerText="状态" dataField=& ...

  5. 用js 判断datagrid 中的 checkbox 是否被选中

    private void Page_Load(object sender, System.EventArgs e)         {             // 在此处放置用户代码以初始化页面   ...

  6. jQuery EasyUI DataGrid Checkbox 数据设定与取值

    纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...

  7. datagrid资料+ by iCeSnaker - Program rhapsody

    datagrid资料+ by iCeSnaker - Program rhapsody 关于datagrid的打印 http://www.chinaaspx.com/article/csharp/29 ...

  8. asp.net MVC的EF与easyui DataGrid数据绑定

    页面代码 @{Layout = null; }<!DOCTYPE html><html> <head><meta name="viewport&qu ...

  9. DataGrid 功能实现收集(一)

    DataGrid相邻行有相同内容时对指定列合并 /// <summary> /// DataGrid相邻行有相同内容时对指定列合并 /// </summary> /// < ...

  10. DataGrid 功能实现收集(转)保留做参考

    DataGrid相邻行有相同内容时对指定列合并 /**//// <summary> /// DataGrid相邻行有相同内容时对指定列合并 /// </summary> /// ...

最新文章

  1. 王振的开发板_Android
  2. mysql分页与分页性能查询优化
  3. java ec_Java ECKey.setK方法代码示例
  4. html任务清单源码,JavaScript jQuery 任务清单 ToDoList
  5. DM368开发 --IPNC 设置过程
  6. android密码dakay,安卓中按钮点击事件onClick的两种实现方式
  7. 递归算法题解析:设m,n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目
  8. 1.0jpa 2.0_在JPA 2.1中使用@Convert正确完成映射枚举
  9. dat文件导入cad画图步骤_Cad小技巧——表格文件如何导入至CAD
  10. 虚拟化部署ESXI6.7+intel x710-da4万兆网卡
  11. 001云E办项目之创建项目
  12. win10重置网络命令_WIN10重置网络的操作方法
  13. pnpm monorepo的技术选型临界点(Critical adoption)
  14. 微信小程序基于mpvue的ui组件之选择器
  15. 国内食品品牌策划公司排名,食品品牌设计公司哪家好?2021最新
  16. 在前端培训班内该如何学习入门
  17. Oracle体系结构VI
  18. 怎么系统有效的自学CAD?
  19. 如何快速将十进制转化为二进制
  20. 转换文件格式的时候总是没有反应

热门文章

  1. 域名服务器有什么作用?怎么查询域名服务器地址?
  2. Chia命令行P图工具
  3. Ambisonics解释:声音工程师指南
  4. win10计算机管理中没有本地用户和组怎么办?
  5. 如何在PPT中设置选择题
  6. BZOJ 1122 [POI2008]账本BBB 神题
  7. WRF users guide Chap5
  8. 零基础学大数据难吗?
  9. Java 判断IP地址为内网IP还是公网IP (针对IPv地址)
  10. 嗯,我是一个偏执狂。