Gridview表头中添加checkbox,可以全选列中的checkbox,同时对应的该列中要有checkbox和textbox,我我我我要崩溃了菜鸟啊我是,现在是现学现买,大家帮帮我,谢谢,百分送上!
解决方案 »
- 如何用TreeView循环显示出家族系图谱?
- MVC Routing
- gridview 弹出小页面
- GridView 分页!(分成多个页面,不是GridView里分页)
- 急求:关于SQL语句的问题
- 讨论:微软Expression与Adobe的战争.
- 不用dreamweaver怎么在vs中建立框架网页?
- 帮忙翻译一段简单的vbscript代码。。。急!!!
- 谁有asp.net中WebSetup的教程?100分送上。
- 水晶报表问题,急急急!!!
- .net如何获取页面中的meta信息。
- 分享个东西,求高人给解释下原理【div隐藏select显示的解决办法(就死select挡住了div) 不是网上找到的那五种】
<asp:gridview ID="Gridview1" runat="server" Width="50%" onrowdatabound="Gridview1_RowDataBound">
<RowStyle BackColor="White" />
<AlternatingRowStyle BackColor="LightYellow" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="checkAll" onclick="selectAll();" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="check" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="LightBlue" />
</asp:gridview>
</div>
{
var chk = document.getElementById("checkAll");
var div = document.getElementById("gridview");
var chks = div.getElementsByTagName("input");
for(var i=0;i<chks.length;i++)
{ if(chks[i].type=="checkbox")
{
chks[i].checked=chk.checked
}
}
}
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
function SelectAll(frm)
{
for (var i=0;i<frm.elements.length;i++)
frm.elements[i].checked = frm.selectall.checked;
}
function CheckSelect(frm)
{
var col=frm.elements;
var obj=frm.selectall;
var intEls=0,intChks=0;
for(var i=0;i<col.length;i++)
{
if(col[i].type=="checkbox"&&col[i].name!="selectall")
{
intEls++;
if(col[i].checked)
intChks++;
}
}
obj.checked=(intEls==intChks);
}
http://topic.csdn.net/u/20100121/16/31906e11-a0bb-4f19-ba80-f8b820236af8.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<style>
* {FONT-SIZE:12PX}
#Status {text-align:left}
</style> <script language="JAVASCRIPT">
var tgs;
var tmp_background_val;
function tog(n,flags)
{
//傳過來本次點擊前的的背景顏色
if (tgs){
tgs.style.background= tmp_background_val ;
}
//考慮到連續點同一個對象的情況,就不要改變保留的顏色
n.style.background= '#99ccff' ;
tmp_background_val=flags;
tgs=n;
}
function AddRemoveValues(oChk)
{
//在处理这个地方需要注意的是:你保存的值应该具有唯一性,这样才能不会替换错误的项。
if(oChk.checked)
SelectMultiPage.HdnSelectedValues.value += "," + oChk.value;
else
SelectMultiPage.HdnSelectedValues.value = SelectMultiPage.HdnSelectedValues.value.replace("," + oChk.value,"");
}
</script></head>
<body>
<form id="SelectMultiPage" name="SelectMultiPage" runat="server">
<div>
<asp:GridView ID="GridView1" HorizontalAlign="Center" AutoGenerateColumns="False"
Width="600px" AllowPaging="True" runat="server" OnRowDataBound="DataGrid1_RowDataBound"
OnPageIndexChanging="DataGrid1_PageIndexChanging">
<AlternatingRowStyle BorderColor="#EEEEEE" />
<HeaderStyle BackColor="#AAAADD" Font-Bold="True" HorizontalAlign="Center" />
<Columns>
<asp:TemplateField HeaderText="选择">
<ItemTemplate>
<input type="checkbox" runat="server" id="chkSelect" onclick="AddRemoveValues(this)"
value='<%#Eval("id")%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Literal Text='<%# Eval("id") %>' runat="server" ID="TitleShow" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="页面标题">
<ItemTemplate>
<asp:Literal ID="Literal1" Text='<%# Eval("title") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns> </asp:GridView>
</div>
<div align="center">
<asp:Button ID="Button1" runat="server" Text="得到所选的值" OnClick="Button1_Click1"></asp:Button>
<br />
<br />
<div id="Status" align="center" style="text-align: center">
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
<input id="HdnSelectedValues" type="hidden" name="HdnSelectedValues" runat="server">
</div> </form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
public SqlConnection conn;
public SqlCommand comm;
public SqlDataAdapter objadapter;
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
BindData();
}
}
public void connection()
{
string str = "server=.;uid=sa;pwd=1;database=fsdfeer";
conn = new SqlConnection(str);
conn.Open();
}
void BindData()
{
connection();
SqlDataAdapter da = new SqlDataAdapter("Select ID,class,classbig,title,contents,laiyuang from content", conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
} protected void DataGrid1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick","tog(this,'AliceBlue')");
if (HdnSelectedValues.Value.IndexOf(((Literal)e.Row.Cells[1].FindControl("TitleShow")).Text) >= 0)
{
HtmlInputCheckBox ChkSelected = (HtmlInputCheckBox)(e.Row.Cells[0].FindControl("ChkSelect"));
ChkSelected.Checked = true;
}
} }
protected void DataGrid1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindData(); }
protected void Button1_Click1(object sender, EventArgs e)
{
Label1.Text = HdnSelectedValues.Value.Replace(",", "<li>"); }
}
<asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" AllowSorting="True"
AutoGenerateColumns="False" HeaderStyle-VerticalAlign="Middle" CellPadding="3"
Font-Size="9pt" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px"
Width="100%" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:BoundField DataField="CID" HeaderText="用户ID" Visible="false" />
<asp:TemplateField HeaderText="<input type='checkbox' id='chk' name='chk' onclick='checkJs(this.checked);' />全选"
>
<ItemTemplate>
<input type="checkbox" id="checkboxname" name="checkboxname" value='<%# DataBinder.Eval(Container.DataItem, "CID")%>'
onclick='SingleCheckJs();' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单选">
<ItemTemplate>
<input type="radio" id="RadioName" name="RadioName" value='<%# Eval("CID")%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="编号">
<ItemTemplate>
<%# (Container.DataItemIndex+1).ToString()%>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="用户姓名" />
<asp:BoundField DataField="Sex" HeaderText="性别" />
<asp:BoundField DataField="Address" HeaderText="家庭住址" />
<asp:BoundField DataField="Post" HeaderText="邮政编码" />
</Columns>
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<PagerSettings Visible="False" />
<FooterStyle Font-Bold="True" />
<HeaderStyle Font-Bold="False" Font-Italic="False" />
</asp:GridView>
// 判断多选是否与选中项(没有选中的返回false)
function slcNo_click()
{
if (document.form1.checkboxname.length)
{
for (var i=0;i<document.form1.checkboxname.length;i++)
{
if(document.form1.checkboxname[i].checked)
{
return true;
}
}
}
else
{
if(document.form1.checkboxname.checked)
{
return true;
}
}
alert("请选择后再操作!");
return false;
}
//
// 多选的全选与取消
function checkJs(boolvalue)
{
if(document.all.checkboxname.length>1)
{
for(var i=0;i<document.all.checkboxname.length;i++)
{
document.all.checkboxname[i].checked = boolvalue;
}
}
else
document.all.checkboxname.checked = boolvalue;
}
//
// 只有全部选中时“全选”选中
function SingleCheckJs()
{
var flag1=false;
var flag2=false;
if (document.form1.checkboxname.length)
{
for (var i=0;i<document.form1.checkboxname.length;i++)
{
if(document.form1.checkboxname[i].checked)
flag1 = true;
else
flag2 = true;
}
}
else
{
if(document.form1.checkboxname.checked)
flag1 = true;
else
flag2 = true;
}
if(flag1==true&&flag2==false)
document.getElementById("chk").checked = true;
else
document.getElementById("chk").checked = false;
}
//