LiangShuainiu 2018-11-20 08:23 采纳率: 66.7%
浏览 1416
已采纳

ASP.NET 后台动态添加的控件操作

选择checkbox时,文本才可以被编辑
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebApplication2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
sql.oracl();//数据库连接
DataSet ds = sql.user();//获取数据
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
TableRow row = new TableRow();
TableCell cellhead = new TableCell();
TableCell cellcontent = new TableCell();
CheckBox ck = new CheckBox();//复选框
TextBox tb = new TextBox();//文本框
ck.ID ="ck"+ ds.Tables[0].Rows[i]["f_userid"].ToString();//给ID
ck.Text = ds.Tables[0].Rows[i]["f_username"].ToString();//设置文本
tb.ID = "tb" + ds.Tables[0].Rows[i]["f_userid"].ToString();//设置ID
tb.Enabled = false;//复选框没有选的时候文本框不可用
ck.Width=200;//设置宽度
ck.Checked = false;//默认设置
ck.AutoPostBack = true;
ck.CheckedChanged += ck_CheckedChanged;//添加事件
cellhead.Controls.Add(ck);
cellcontent.Controls.Add(tb);
cellhead.HorizontalAlign = HorizontalAlign.Right;
cellcontent.HorizontalAlign = HorizontalAlign.Left;
row.Cells.Add(cellhead);
row.Cells.Add(cellcontent);
this.Table1.Rows.Add(row);
}
}

    void ck_CheckedChanged(object sender, EventArgs e)
    {
        该怎么写?
    }

    protected void Button1_Click(object sender, EventArgs e)
    {

    }
}

}
图片说明

  • 写回答

1条回答 默认 最新

  • LiangShuainiu 2018-11-20 08:27
    关注

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    namespace WebApplication2
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    sql.oracl();
    DataSet ds = sql.user();
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
    TableRow row = new TableRow();
    TableCell cellhead = new TableCell();
    TableCell cellcontent = new TableCell();
    CheckBox ck = new CheckBox();
    TextBox tb = new TextBox();
    ck.ID ="ck"+ ds.Tables[0].Rows[i]["f_userid"].ToString();
    ck.Text = ds.Tables[0].Rows[i]["f_username"].ToString();
    tb.ID = "tb" + ds.Tables[0].Rows[i]["f_userid"].ToString();
    tb.Enabled = false;
    Response.Write("a=&quot; + ds.Tables[0].Rows[i][&quot;f_userid&quot;].ToString() + &quot;;");
    ck.Width=200;
    ck.Checked = false;
    ck.AutoPostBack = true;
    ck.CheckedChanged += ck_CheckedChanged;
    cellhead.Controls.Add(ck);
    cellcontent.Controls.Add(tb);
    cellhead.HorizontalAlign = HorizontalAlign.Right;
    cellcontent.HorizontalAlign = HorizontalAlign.Left;
    row.Cells.Add(cellhead);
    row.Cells.Add(cellcontent);
    this.Table1.Rows.Add(row);
    }
    }

        void ck_CheckedChanged(object sender, EventArgs e)
        {
    
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
    
        }
    }
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵