首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
tellmenow (22)
cutemouse (22)
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
CSDN - 文档中心 - .NET 阅读:7903   评论: 0    参与评论
标题   为DataGrid添加CheckBox控件     选择自 net_lover 的 Blog
关键字   DataGrid,CheckBox
出处  

为DataGrid添加CheckBox控件

http://lucky_elove.www1.dotnetplayground.com/

查看例子

CheckBoxDataGrid.aspx

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="CheckBoxDataGrid.aspx.vb" Inherits="aspxWeb.CheckBoxDataGrid" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>为DataGrid添加CheckBox控件的例子</title> <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="frmMain" method="post" runat="server"> <asp:DataGrid id="dgMain" runat="server" Width="98%" AutoGenerateColumns="False"> <SelectedItemStyle Font-Size="9pt" Font-Names="宋体"></SelectedItemStyle> <EditItemStyle Font-Size="9pt" Font-Names="宋体" Font-Bold="True" ForeColor="Red" BackColor="Info"/> <AlternatingItemStyle Font-Size="9pt" Font-Names="宋体" ForeColor="ControlText" BackColor="White"/> <ItemStyle Font-Size="9pt" Font-Names="宋体" ForeColor="ControlText" BackColor="WhiteSmoke"/> <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="Black" VerticalAlign="Middle" BackColor="Control"> </HeaderStyle> <Columns> <asp:TemplateColumn HeaderText="操作"> <HeaderStyle HorizontalAlign="Center" Width="50px"></HeaderStyle> <ItemTemplate> <asp:CheckBox ID="chkExport" Runat="server" /> </ItemTemplate> <EditItemTemplate> <asp:CheckBox ID="chkExportON" Runat="server" Enabled="true" /> </EditItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="id" ReadOnly="True" HeaderText="序号"> <HeaderStyle Width="50px"></HeaderStyle> </asp:BoundColumn> <asp:TemplateColumn SortExpression="demo" HeaderText="标题"> <ItemTemplate> <asp:Label Text='<%# Server.HTMLEncode(DataBinder.Eval(Container.DataItem, "Title"))%>' runat="server"Width="80%" ID="lblColumn"/> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> <asp:Button id="cmdSelectAll" runat="server" Text="全部选中"></asp:Button> <asp:Button id="cmdFindSelected" runat="server" Text="查看选中的项目"></asp:Button> <br> <asp:Label id="Label1" runat="server"></asp:Label> </form> </body> </HTML>

后代码 CheckBoxDataGrid.aspx.vb

Imports System.Data Imports System.Data.OleDb Public Class CheckBoxDataGrid Inherits System.Web.UI.Page Protected WithEvents cmdSelectAll As System.Web.UI.WebControls.Button Protected WithEvents dgMain As System.Web.UI.WebControls.DataGrid Protected WithEvents cmdFindSelected As System.Web.UI.WebControls.Button Dim oDataView As DataView Protected WithEvents Label1 As System.Web.UI.WebControls.Label Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="_ + Server.MapPath("Test.mdb") #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles MyBase.Load 'Put user code to initialize the page here dgMain.Columns(0).HeaderText = "选项" dgMain.Columns(1).HeaderText = "序号" dgMain.Columns(2).HeaderText = "标题" cmdFindSelected.Text = "查看选中的项目" RefreshGrid() If Not Page.IsPostBack Then cmdSelectAll.Text = "全部选中" dgMain.DataBind() End If End Sub #Region "处理多选" Private Sub cmdSelectAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles cmdSelectAll.Click selectAll() End Sub Private Sub selectAll() Dim oDataGridItem As DataGridItem Dim chkExport As System.Web.UI.WebControls.CheckBox If cmdSelectAll.Text = "全部选中" Then For Each oDataGridItem In dgMain.Items chkExport = oDataGridItem.FindControl("chkExport") chkExport.Checked = True Next cmdSelectAll.Text = "全部不选" Else For Each oDataGridItem In dgMain.Items chkExport = oDataGridItem.FindControl("chkExport") chkExport.Checked = False Next cmdSelectAll.Text = "全部选中" End If End Sub #End Region #Region "更新DataGrid" Private Sub RefreshGrid() Dim oConnection As OleDbConnection Dim oCommand As OleDbDataAdapter Dim oDataSet As New DataSet() Try Dim sSQL As String = "Select top 5 * from TestTable order by id" oConnection = New OleDbConnection(sConnectionString) oCommand = New OleDbDataAdapter(sSQL.ToString, oConnection) oCommand.Fill(oDataSet, "TestTable") oDataView = New DataView(oDataSet.Tables("TestTable")) dgMain.DataSource = oDataView oConnection.Close() Catch ex As Exception '// Place Error Handling here End Try End Sub #End Region Private Sub cmdFindSelected_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles cmdFindSelected.Click Dim oDataGridItem As DataGridItem Dim chkExport As System.Web.UI.WebControls.CheckBox Dim oExArgs As New System.Collections.ArrayList() Dim sID As String Label1.Text = "" For Each oDataGridItem In dgMain.Items chkExport = oDataGridItem.FindControl("chkExport") If chkExport.Checked Then Label1.Text = "" sID = CType(oDataGridItem.FindControl("lblColumn"), Label).Text oExArgs.Add(sID) Dim i As Integer = 0 For i = 0 To oExArgs.Count - 1 Label1.Text += oExArgs(i) + "," Next End If Next End Sub End Class

相关文章
对该文的评论