asp.net后端创建表格,并DataSet赋值

求详细代码,或者更好的方法... 求详细代码,或者更好的方法 展开
 我来答
51Try
2013-08-20 · TA获得超过645个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:133万
展开全部

因为你还要要给生成的按钮注册 查询事件,推荐你使用数据控件;

不过使用表格和自定义按钮,也可以实现。

 public partial class _default : System.Web.UI.Page
    {
        string connstr = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
            connstr = ConfigurationManager.AppSettings["connstr"];
            Maticsoft.DBUtility.DbHelperSQL.connectionString = connstr;
            string sql="select * from Person ";
            DataSet ds = Maticsoft.DBUtility.DbHelperSQL.Query(sql);
            Bindtable(ds,testTab);
        }
        static void Bindtable(DataSet ds, Table testTab)
        {
            int colsCount = ds.Tables[0].Columns.Count;
            int rowsCount = ds.Tables[0].Rows.Count;
            DataTable dt = ds.Tables[0];

            for (int j = 0; j < rowsCount; j++)
            {
                TableRow tbRow = new TableRow();
                for (int k = 0; k < colsCount; k++)
                {
                    if (k==1)
                    {
                        TableCell cell = new TableCell();
                        Button button = new Button();
                        button.Text = dt.Rows[j][k].ToString();
                        button.CommandArgument = dt.Rows[j][k].ToString();
                        button.CommandName = dt.Rows[j][k-1].ToString(); 
                        button.Command+=new CommandEventHandler(button_Command);
                        cell.Controls.Add(button);
                        tbRow.Cells.Add(cell);
                    }
                    else
                    {
                        TableCell cell = new TableCell();
                        cell.Text = dt.Rows[j][k].ToString();
                        tbRow.Cells.Add(cell);    
                    }            
                }
                testTab.Rows.Add(tbRow);
            }
        }

        static void button_Command(object sender, CommandEventArgs e)
        {
            string comName = e.CommandName;
            string comArg = e.CommandArgument.ToString();
            //对 获取的数据做进一步处理
        }
    }
追问
可以帮在一些关键点写一点注释吗?我再加10分
追答
                       TableCell cell = new TableCell();
                        //创建 按钮对象
                        Button button = new Button();
                        //按妞显示的文字赋值
                        button.Text = dt.Rows[j][k].ToString();
                        //服务器控件的  CommandArgument、CommandName 可以传递自定义值,
                        //用来在 该控件单击时 触发自身的Command事件 时再通过 CommandEventArgs e 获取。
                        button.CommandArgument = dt.Rows[j][k].ToString();
                        button.CommandName = dt.Rows[j][k-1].ToString(); 
                        //注册按钮的 command事件
                        button.Command+=new CommandEventHandler(button_Command);
                        //单元格对象的 加入按钮对象
                        cell.Controls.Add(button);
                        //行对象加入单元格
                        tbRow.Cells.Add(cell);

         代码的大体意思就是那,功能实现绝对没问题;建议你照着敲一遍代码,不懂得,鼠标移上去,vs会提示大致是什么意思。

丛冷松035
2013-08-20 · 超过20用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:48万
展开全部
repeater不会用么?
追问
额,能给个小例子吗?我参考下,我加分
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式