1:现在在datalist中绑定一个radiobuttonlist,如何给这个radiobuttonlist绑定数据源?
如何获取这个radiobuttonlist的选定值?
我这样写:
radiobuttonlist dd = (radiobuttonlist)e.item.findcontrol("ddd");
string cc=dd.selectvalue.tostring();
但程序提示:未将对象引用到实例
2:如何当我在删除datalist中一行的时候给一个提示是否要删除
谢谢各位大虾了,我没有分了,要不多加点在线等!!!
如何获取这个radiobuttonlist的选定值?
我这样写:
radiobuttonlist dd = (radiobuttonlist)e.item.findcontrol("ddd");
string cc=dd.selectvalue.tostring();
但程序提示:未将对象引用到实例
2:如何当我在删除datalist中一行的时候给一个提示是否要删除
谢谢各位大虾了,我没有分了,要不多加点在线等!!!
2--也是在ItemDataBound里写
LinkButton lb=(LinkButton)e.item.findcontrol("..");
if(lb!=null)
{
lb.Attributes["onclick"]="<script language=javascriopt>confirm(\"真的删除吗?\");</sript>"
}
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
Button btn=e.Item.FindControl("Button") as Button;
btn.Attributes.Add("onclick","javascript:window.event.returnValue=window.confirm('Delete?');");
//设置删除提示
RadioButtonList rbl = e.Item.Findcontrol("RadioButtonList1") as RadioButtonList;
rbl.DataSource=??;
rbl.DataTextField=??;
rbl.DataValueField=??;
rbl.DataBind();
//设置数据源
}
}
----------------------------------------------
<%@Page debug=true%>
<%@Import Namespace="System.Data"%>
<script runat="server" Language="C#">
void Page_Load(object src,EventArgs e){
if(!Page.IsPostBack){
BindData();
}
}void BindData(){
DataTable table=(DataTable)Cache["testTable"];
if(table==null){
table=new DataTable();
table.Columns.Add(new DataColumn("姓名",typeof(string)));
table.Columns.Add(new DataColumn("性别",typeof(bool)));
table.Columns.Add(new DataColumn("年龄",typeof(int)));
DataRow row;
Random rdm=new Random();
int rint;
for(int i=0;i<10;i++){
rint=rdm.Next(20,30);
row=table.NewRow();
row["姓名"]="姓名_"+i.ToString();
row["性别"]=(rint%3==0);
row["年龄"]=rint;
table.Rows.Add(row);
}
Cache["testTable"]=table;
}
grid1.DataSource=table;
grid1.DataBind();
}void EditGrid(object src,DataGridCommandEventArgs e){
grid1.EditItemIndex=e.Item.ItemIndex;
BindData();
}void CancelEdit(object src,DataGridCommandEventArgs e){
grid1.EditItemIndex=-1;
BindData();
}void UpdateGrid(object src,DataGridCommandEventArgs e){
grid1.EditItemIndex=-1;
BindData();
}void BindItem(object src,DataGridItemEventArgs e){
if(e.Item.ItemType==ListItemType.EditItem){
DropDownList ddl=(DropDownList)e.Item.FindControl("ageddl");
if(ddl!=null){
ListItem litem;
for(int i=20;i<=30;i++){
litem=new ListItem(i.ToString());
ddl.Items.Add(litem);
if(i==(int)((DataRowView)e.Item.DataItem)["年龄"])
litem.Selected=true;
}
}
}
}
</script>
<HTML>
<HEAD>
<TITLE> Webdiyer 制造:) (www.webdiyer.com) </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Webdiyer">
</HEAD><BODY>
<form runat="server">
<asp:DataGrid runat="server" id="grid1" width="50%" AutoGenerateColumns=false OnEditCommand="EditGrid" OnCancelCommand="CancelEdit" OnUpdateCommand="UpdateGrid" OnItemDataBound="BindItem">
<Columns>
<asp:EditCommandColumn EditText="编辑" CancelText="取消" UpdateText="更新" HeaderText="编辑"/>
<asp:BoundColumn DataField="姓名" HeaderText="姓名"/>
<asp:TemplateColumn HeaderText="性别">
<ItemTemplate>
<%#(bool)((DataRowView)Container.DataItem)["性别"]==true?"男":"女"%>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox runat="server" id="sex" Checked=<%#(bool)((DataRowView)Container.DataItem)["性别"]==true%>/>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="年龄">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem,"年龄")%>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList runat="server" id="ageddl"/>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br>
<asp:Label runat="server" id="lbl"/>
</form>
</BODY>
</HTML>