为datagrid增加一模板列,然后编辑该模板列,拖放checkbox即可
解决方案 »
- 关于cookie的保存问题,高手请进。
- 在.cs文件中对web.config配置文件的编辑
- C# log4net 线程问题
- asp.net中多个用户同时点击同一按钮后如何获得第一个点击的用户??
- VS2005与IIS有啥关系?
- 帮下忙.datalist显示问题
- 帮忙解释一下这条语句是什么意思!
- 求助asp.net放服务器IIS 不能正常运行
- c# CS结构 获取16进制图片数据,转换成图片并且保存图片路径 如何实现?
- 怪事:每次vs.net启动时,会自动安装microsoft viso for enterprise architects[chs]?
- ~~~~~~各位帮我看看这样的 SQL 语句如何写
- 请问使用ADO.NET时,引入的名字空间 system.data和system.data.oledb 是什么意思?
<ItemTemplate>
<asp:CheckBox id=CheckBox1 runat=server/>
</ItemTemplate>
</asp:TemplateColumn>
<%@ Page Language="vb" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
dim MyConnection As OleDbConnection Sub Page_Load(s As Object, E As EventArgs)
MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" + Server.MapPath(".")+"/db/kk.mdb")
If Not (IsPostBack) then
BindDataGrid()
End If
End SubSub BindDataGrid()
dim dadTitles as OleDbDataAdapter
dim dstTitles as DataSet
dadTitles=new OleDbDataAdapter("select * from [min] order by id desc",MyConnection)
dstTitles=new DataSet
dadTitles.fill(dstTitles)
MyDataGrid.DataSource=dstTitles
MyDataGrid.DataBind()
End SubSub Mydatagrid_PageIndexChanged(s as object,e as DataGridPageChangedEventargs)
MyDataGrid.CurrentPageIndex=e.newPageIndex
BindDataGrid()
End SubSub btnSelect_OnClick(ByVal sender As Object, ByVal e As EventArgs)
Dim myDataGridItem As DataGridItem
Dim chkSelected As System.Web.UI.WebControls.CheckBox
Dim strBoardType As String
Dim strBoardID As String
lblSelect.Text = "<br>You selected the Following items:<br><br>"
lblStatus.Text=""
For Each myDataGridItem In MyDataGrid.Items
chkSelected = myDataGridItem.FindControl("chkSelection")
If chkSelected.Checked Then
lblSelect.visible=true
strBoardType= CType(myDataGridItem.FindControl("lblBoardType"), Label).Text
strBoardID = CType(myDataGridItem.FindControl("hdnBoardid"), Label).Text
lblStatus.Text += "The id is <b>" & strBoardType & "</b>"
lblStatus.Text += " and the id is <b>" & strBoardID & "</b><br>"
else
lblSelect.visible=false
End If
Next
End Sub
</script>
<html>
<head><title>DataGrid_CheckBox.aspx</title></head>
<body>
<form runat="server">
<input type="button" id="btnSelect" OnServerClick="btnSelect_OnClick" value="SELECT ID" runat="server">
<asp:DataGrid id="MyDataGrid"
width="400"
Runat="server"
AllowPaging="true"
pageSize="5"
OnPageIndexChanged="Mydatagrid_PageIndexChanged"
cellPadding="3"
AutoGenerateColumns="false"
HeaderStyle-BackColor="#ff0000"
HeaderStyle-Font-Bold="True"
HeaderStyle-Font-Name="Verdana"
HeaderStyle-Font-Size="13px"
HeaderStyle-ForeColor="#ffffff"
ItemStyle-BackColor=Beige
ItemStyle-Font-Name="verdana"
ItemStyle-Font-Size="13px"
>
<PagerStyle Mode="NumericPages"
Font-Bold="true"
BackColor="#FFCC99"
HorizontalAlign="right"
>
</PagerStyle>
<Columns>
<asp:TemplateColumn HeaderStyle-HorizontalAlign=Center HeaderText="X">
<ItemTemplate>
<asp:Checkbox ID="chkSelection" Runat=server />
<asp:Label ID="hdnBoardid" Visible="False" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lblBoardType" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' Runat=server />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid><asp:Label ID="lblSelect"
Font-Name="verdana"
Font-Size="12px"
ForeColor="#ff0000"
Runat=server />
<asp:Label ID="lblStatus"
Font-Name="verdana"
Font-Size="12px"
ForeColor="#ff0000"
Runat=server />
</form>
</body>
</html>
Dim c As CheckBox
Dim Pulse As New VisitPulse
For i = 0 To DG_Pulse.Items.Count - 1
c = DG_Pulse.Items(i).Cells(0).FindControl("s")
If c.Checked Then
Pulse.ConnString = Session("Constr")
Pulse.Delete(DG_Pulse.Items(i).Cells(1).Text)
End If
Next
Bind_Pulse()
<ItemTemplate>
<asp:CheckBox id=CheckBox1 runat=server/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:datagrid id="myGroupData" Runat="server" AutoGenerateColumns="false" DataSource="<%# #CurrentDetail%>">
<Columns>
<asp:BoundColumn DataField="STSOrderNo" HeaderText="销售单号"> //列名显示为中文。
<HeaderStyle HorizontalAlign="Center"></HeaderStyle></asp:BoundColumn>
<asp:TemplateColumn HeaderText="请选择"> //运用模版列
<ItemTemplate>
<asp:CheckBox ID="CheckGroupSTS" Runat="server" AutoPostBack="False" Checked='<%#(bool)((((DataRowView)Container.DataItem)[2]).ToString().ToUpper()=="TRUE")%>'></asp:CheckBox> //添加复选框(TRUE为数据库中表示选定的值的设定)
</ItemTemplate>
</asp:TemplateColumn>
</Columns></asp:datagrid >
cs文件:
private DataView currentDetail;
public DataView CurrentDetail //得到datagrid的datasource的类型
{
get {return currentDetail;}
}private void bindDataGrid() //数据绑定
{
DataBaseInterface myConnection = (DataBaseInterface)ConnectionFactory.ObjFactory(ConfigurationSettings.AppSettings);
DataSet myDataset = myConnection.Jason_PA_PackModelSelect();
currentDetail=myDataset.Tables[0].DefaultView;//得到datasource
myDataGrid.DataBind();
}
如果你要查找选定的列做一些操作:
foreach(DataGridItem dataGridItem in myGroupData.Items)
{
if(((CheckBox)dataGridItem.FindControl("CheckGroupSTS")).Checked)
{
//如果是选定会做什么操作
}
}