asp.net Datagrid中的清单 [英] checkboxlist in asp.net Datagrid
本文介绍了asp.net Datagrid中的清单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
全部
我在asp.net中没有datagrid而不是gridview,其中有列之一是复选框列.我需要复选框的行为类似于单选按钮,我的意思是我只能在datagrid行中选中一个复选框.谁能帮我.
有人推荐我使用清单框.
请帮帮我.
预先感谢.
Hi
All
I have datagrid not gridview in asp.net, which has columns one of them is check box column. I need check box behave like radio button i mean i could check only single check box in datagrid rows. Can anybody help me.
some body recommend me to use checkboxlist.
please help me.
Thanks in advance.
推荐答案
private void Page_Load(object sender, System.EventArgs e)
{
cnnDB = new SqlConnection("server=HOME;user id=sa;password=;database=Contacts");
if (!IsPostBack)
bindGrid();
}
private void bindGrid()
{
SqlDataAdapter da = new SqlDataAdapter("select * from Anz_Contacts",cnnDB);
DataSet ds = new DataSet();
da.Fill(ds, "Employees");
myDataGrid.DataSource=ds.Tables["Employees"].DefaultView;
myDataGrid.DataBind();
}
<form id="Form1" name="Form1" method="post" runat="server">
<ASP:DATAGRID id="myDataGrid"
runat="server"
AutoGenerateColumns="false"
HeaderStyle-BackColor="#aaaadd"
Font-Size="8pt"
Font-Name="Verdana"
CellSpacing="0"
CellPadding="3"
ShowFooter="true"
BorderColor="Black"
BackColor="AntiqueWhite"
Width="600">
<HeaderStyle BackColor="NavajoWhite"></HeaderStyle>
<FooterStyle BackColor="NavajoWhite"></FooterStyle>
<Columns>
<asp:TemplateColumn HeaderText="contract">
<HeaderTemplate>
<input type="checkbox" id="checkAll"
onclick="CheckAll(this);" runat="server" name="checkAll">
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" runat="server" id="EmpId"
onclick="CheckChanged();" checked='false' name="EmpId" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Id">
<ItemTemplate>
<asp:Label id="Id" Text='<%#
DataBinder.Eval(Container.DataItem, "Id") %>' runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="FirstName"
HeaderText="FirstName"></asp:BoundColumn>
<asp:BoundColumn DataField="LastName"
HeaderText="LastName"></asp:BoundColumn>
<asp:BoundColumn DataField="Designation"
HeaderText="Designation"></asp:BoundColumn>
</Columns>
</ASP:DATAGRID>
</form >
在SQL中创建表的脚本如下:
Script to create table in SQL is as :
CREATE TABLE [dbo].[Anz_Contacts] (
[Id] [int] IDENTITY (1, 1) NOT NULL ,
[FirstName] [char] (10) NULL ,
[LastName] [char] (10) NULL ,
[Designation] [varchar] (50) NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Anz_Contacts] WITH NOCHECK ADD
CONSTRAINT [PK_Anz_Contacts] PRIMARY KEY CLUSTERED
(
[Id]
) ON [PRIMARY]
GO
尝试使用此js函数
Try this js function
function CheckOne(obj)
{
var dtgrid = obj.parentNode.parentNode.parentNode;
var inputs = dtgrid.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
if (inputs[i].type =="checkbox")
{
if(obj.checked && inputs[i] != obj && inputs[i].checked)
{
inputs[i].checked = false;
}
}
}
}
<asp:CheckBox ID="CheckBox4" runat="server" onclick ="CheckOne(this)" />
那是什么阻止您使用单选按钮呢? :)我猜想当有一个控件可以像您需要的那样工作时,我看不出为什么有人想要使用旨在以不同方式工作的其他控件..
干杯...
What stops you from using a Radiobutton then? :) I guess when there is a control that works like you need it to, i don''t see any reason why would one want to use something else that is designed to work in a different way..
Cheers...
这篇关于asp.net Datagrid中的清单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文