没有分了,但希望您能帮帮助我,,,如何在datagrid中加入radiobuttonlist,并取出或者赋值给它呢? 前天绑定,后台用的时候FindControl()就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.4guysfromrolla.com/webtech/050801-1.shtml上面是一个如何使用DropDownList的例子!radiobuttonlist的原理是一样的! 客户端代码如下(HTML):<asp:datagrid id="DataGrid1" runat="server"> <Columns> <asp:TemplateColumn> <ItemTemplate> <FONT face="宋体"> <asp:RadioButtonList id="RadioButtonList1" runat="server"></asp:RadioButtonList></FONT> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:datagrid>后台代码如下(CS):private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack){ String connectionString="server=localhost;uid=sa;pwd=sa;database=pubs"; SqlConnection connection=new SqlConnection(connectionString); try{ connection.Open(); SqlCommand command=new SqlCommand ("select * from titles where price!=0",connection); SqlDataReader reader=command.ExecuteReader();// this.Repeater1.DataSource=reader;// Repeater1.DataBind(); this.DataGrid1.DataSource=reader; DataGrid1.DataBind(); } catch(SqlException ex){ Console.WriteLine(ex.Message); } finally{ connection.Close(); } } }添加事件处理函数:private void InitializeComponent() { this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);}邦定代码:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem){ RadioButtonList rbl = (RadioButtonList)e.Item.Cells[1].FindControl("RadioButtonList1"); rbl.DataSource = this.CreateDataSource(); rbl.DataTextField = "IntegerValue"; rbl.DataBind(); } }下面的方法将得到上面这个DataGrid里面所有选中的按钮的Text显示在Text1里面(用|作为分割符)!private void getButtonList() { foreach(DataGridItem item in this.DataGrid1.Items){ if(item.ItemType == ListItemType.Item || item.ItemType==ListItemType.AlternatingItem){ RadioButtonList rbl = (RadioButtonList)item.Cells[1].FindControl("RadioButtonList1"); if(rbl.SelectedItem != null) this.TextBox1.Text += rbl.SelectedItem.Text+"|"; } } } 用到的一个方法:ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = 1.23 * (i + 1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } (回帖给分)在将 varchar 值 转换成数据类型 int 时失败。 用浏览器访问系统的问题 收银页面求职~!!!请高手进 求后台css 文档打开问题 急 急 急 一道面试题? 有什么办法能够防止别人按规则推测出资料地址? 请教 如何计算由asp.net(c#)+sql server 动态的创建的html的点击率? 请问,哪里有 计算器的WEB版的源代码下载的? 关于自定义分页而引起的搜索错误,高分求助? 水晶报表的问题 IIS服务器上没有安装SQLServer时,为什么连接不上SQLServer服务器???
上面是一个如何使用DropDownList的例子!radiobuttonlist的原理是一样的!
<asp:datagrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<FONT face="宋体">
<asp:RadioButtonList id="RadioButtonList1" runat="server"></asp:RadioButtonList></FONT>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
后台代码如下(CS):
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack){
String connectionString="server=localhost;uid=sa;pwd=sa;database=pubs";
SqlConnection connection=new SqlConnection(connectionString);
try{
connection.Open();
SqlCommand command=new SqlCommand
("select * from titles where price!=0",connection);
SqlDataReader reader=command.ExecuteReader();
// this.Repeater1.DataSource=reader;
// Repeater1.DataBind();
this.DataGrid1.DataSource=reader;
DataGrid1.DataBind();
}
catch(SqlException ex){
Console.WriteLine(ex.Message);
}
finally{
connection.Close();
}
}
}
添加事件处理函数:
private void InitializeComponent()
{
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
}邦定代码:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem){
RadioButtonList rbl = (RadioButtonList)e.Item.Cells[1].FindControl("RadioButtonList1");
rbl.DataSource = this.CreateDataSource();
rbl.DataTextField = "IntegerValue";
rbl.DataBind();
}
}
下面的方法将得到上面这个DataGrid里面所有选中的按钮的Text显示在Text1里面(用|作为分割符)!
private void getButtonList() {
foreach(DataGridItem item in this.DataGrid1.Items){
if(item.ItemType == ListItemType.Item || item.ItemType==ListItemType.AlternatingItem){
RadioButtonList rbl = (RadioButtonList)item.Cells[1].FindControl("RadioButtonList1");
if(rbl.SelectedItem != null)
this.TextBox1.Text += rbl.SelectedItem.Text+"|";
}
}
}
ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++) {
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}