public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databind();
}
}
private void databind()
{
ArrayList arr = new ArrayList();
arr.Add("新闻综合");
arr.Add("综艺");
arr.Add("电影");
arr.Add("教育");
arr.Add("戏剧");
arr.Add("军事");
arr.Add("体育");
DataGrid1.DataSource = arr;
DataGrid1.DataBind();
int i;
for (i = 0; i < DataGrid1.Items.Count; i++)
{
CheckBox cb;
cb = (CheckBox)DataGrid1.Items[i].FindControl("checkbox1");
DataGrid1.Items[i].Attributes.Add("id", "tr" + i.ToString());
cb.Attributes.Add("onclick", "checkme(this,tr" + i.ToString() + "); ");
}
}
--------------------------------------------------------------------------------------------------
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="checkbox1" Runat ="server"></asp:CheckBox>
<div><%#DataBinder.Eval(Container,"DataItem")%></div>
<asp:Label ID="Label1" runat="server" Text=<%#DataBinder.Eval(Container,"DataItem") %>></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
----------------------------------------------------------------------------------------------------
<script>
function checkme(obj,tr){
if(obj.checked)
tr.style.backgroundColor='blue';
else
tr.style.backgroundColor='';
}
</script>
这篇博客展示了如何在ASP.NET中创建一个DataGrid控件,动态填充数据,并与CheckBox控件结合。在Page_Load事件中,数据被绑定到DataGrid1,然后遍历每个条目,为CheckBox添加点击事件。当CheckBox被选中时,对应的行背景色变为蓝色,反之则恢复原色。代码中还包含了DataGrid的HTML声明和JavaScript函数实现交互效果。

916

被折叠的 条评论
为什么被折叠?



