我想在页加载的时候指定datasource同时加一个模板,在模板中加入一个命名为chk1的checkbox,各位英雄指点一下代码如何写.谢谢各位.
解决方案 »
- 文章分页
- 在本地可以建文件夹,可是挂到网上去了之后就不行了
- 圣诞节大酬宾--散分回馈新老朋友,祝大家圣诞快乐!
- vss2005和vs2005的搭配问题
- 最近毕业设计要开发个论坛,请问如何得到论坛板块的页面和......
- 用JavaScript代码”window.showModelessDialog”产生的弹出页面如何与原页面联动。
- 在javascript中转化数据的格式
- 请问DataSet是在服务器的内存中还是在客户机的内存中?
- 兄弟们请教一个问题!!!!这个自定义函数那里出错了!!!!
- 小问题请教各位大侠!
- 请问,如何在vs2005中直接调试c#程序,正在看c#
- 全世界好像暫時都沒有人能解決的問題。我們連日來搜索了幾乎所有有名的搜索引擎也沒有答案。
CheckBox cbx = e.Row.FindControl("cbxName") as CheckBox;
try
{
//绑定选中CheckBox 客户端ID
cbx.Attributes.Add("onclick", "ChangeGet(" + cbx.ClientID + ")");
}
catch
{
}
前台js脚本代码
<script language="javascript">
function ChangeGet(SelectCheckBox)
{
//找到页面所有 input
var objs = document.getElementsByTagName("input");
for(var i=0; i<objs.length; i++)
{
//找到input中的checkbox
if(objs[i].type.toLowerCase() == "checkbox" )
//所有checkbox为false
objs[i].checked = false;
}
//找到选中checkbox
var SelectCheckBoxID=SelectCheckBox.id;
//选中checkbox为true
document.getElementById(SelectCheckBoxID).checked = true;
}</script>或者:
在后台GridView_RowDataBound事件中
CheckBox cbx = e.Row.FindControl("cbxName") as CheckBox;
try
{
//绑定选中CheckBox 客户端ID
cbx.Attributes.Add("onclick", "ChangeGet(this)");
}
catch
{
}
前台js脚本代码
<script language="javascript">
function ChangeGet(SelectCheckBox)
{
//找到页面所有 input
var objs = document.getElementsByTagName("input");
for(var i=0; i<objs.length; i++)
{
//找到input中的checkbox
if(objs[i].type.toLowerCase() == "checkbox" )
//所有checkbox为false
objs[i].checked = false;
}
//选中checkbox为true
SelectCheckBoxID.checked = true;
}</script>
首先在数据源上添加一列,类型为bool型
示例代码:
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("check", typeof(bool));
for (int i = 0; i < 10; i++) {
dt.Rows.Add(new object[] { i, true });
}
GridView1.DataSource = dt;
GridView1.DataBind();
这样,绑定后的GridView就有一列CheckBox了,但是他是不可用的,还须要手动改成可选的
在RowCreated事件里,将CheckBox改成可用的
示例:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) {
foreach(TableCell cell in e.Row.Cells)
{
if (cell.Controls.Count > 0) {
CheckBox c = (CheckBox)cell.Controls[0];
if (c != null)
c.Enabled = true;
}
}
}
<asp:TemplateField >
<ItemTemplate>
<asp:CheckBox ID="chk1" runat="server" Text='<%#Eval("字段名") %>'
/>
</ItemTemplate>
</asp:TemplateField>
<asp:GridView ID="gv" runat="server">
<Columns>
<asp:TemplateField HeaderText="所属分类">
<ItemTemplate>
<asp:CheckBox runat="server" id="chk1" />
</ItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>二、对控件进行操作
GridView的RowDataBound事件:
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chk = (CheckBox)e.Row.FindControl("chk1");
//chk就是CheckBox对象,你可对其进行任意操作
}