向大家请教一个问题,我用的是 win2000,sql server 2000, vs.net 2003,(C#) 现在想在 DataGrid 中绑定一个 CheckBox <asp:TemplateColumn HeaderText="物料通用性" ItemStyle-Width="16%">
<ItemTemplate>
<asp:CheckBox ID="cbCurrency" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
表中的一个字段 XXXX (只有两个值Y或者N),我的想法是,当 XXXX 为 Y 时 DataGrid 中的 CheckBox 就选中,当 XXXX 为 N 时,则不被选中,我应该怎样实现他??
请各位帮帮忙,我在网上奋战了昨天一个下午了,还没有搞定,今天发帖请教大家,多谢帮忙!!
<asp:CheckBox ID="cbCurrency" Checked='<%#Eval("field").ToString()=="Y"?true:false%>'
Runat="server"> </asp:CheckBox> 这是05的写法,03可能需要改一下
<asp:CheckBox Runat="server" ID="cbCurrency" Checked='<%# GetResult(DataBinder.Eval(Container.DataItem,"context"))>'%></asp:CheckBox>
protected bool GetResult(object o)
{
bool result = false;
if(o.ToString() != null)
{
switch(o.ToString())
{
case "Y":
result = true;
break;
default:
break;
}
}
return result;
}
<asp:CheckBox Runat="server" ID="cbCurrency" Checked='<%# GetResult(DataBinder.Eval(Container.DataItem,"context"))%>'</asp:CheckBox>
protected bool GetResult(object o)
{
bool result = false;
if(o.ToString() != null)
{
switch(o.ToString())
{
case "Y":
result = true;
break;
default:
break;
}
}
return result;
}
<ItemTemplate>
<asp:CheckBox ID="cbCurrency" Runat="server" Checked='<%# DataBinder.Eval(Container.DataItem, "field").ToString().ToUpper() == "Y" ? true : false %>'
> </asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
protected bool GetResult(object o)
{
bool result = false;
if(o.ToString() != null)
{
switch(o.ToString())
{
case "Y":
result = true;
break;
default:
break;
}
}
return result;
}