Lutyison 2014-04-26 06:29 采纳率: 0%
浏览 1227

树形列表动态添加控件,再读取数据库,往每个添加的控件里添加子控件

我有一个树形列表,先是读取数据库查询有多少记录,按每100条记录加一个树形的文件夹,当打开文件夹时触发一个后台事件(事件是一个隐藏的asp:button的点击事件,打开文件夹时会点击Button触发),事件会在后台读取数据库里一个区间的数据,然后动态添加到文件夹里添加相应的

标签......现在问题是怎么获取被打开的文件夹,因为要做到无刷新,所以隐藏的asp:Button被放在一个asp:UpdatePanel里面,所以找到文件夹控件比较麻烦
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 00:23
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这是一个典型的ASP.NET Web Forms应用程序设计。首先,你需要创建一个数据模型来存储你的数据,并使用ADO.NET连接数据库。然后,你可以创建一个Web Form来显示和管理这些数据。

    以下是一些基本步骤:

    1. 创建一个数据库表来存储你的数据。
    2. 使用ADO.NET连接数据库并创建一个数据访问对象(DAO)来处理你的数据。
    3. 在你的Web Form中添加一个TreeView控件,用于展示你的数据。
    4. 当用户点击TreeView中的某个节点时,调用一个事件处理器,该处理器将从数据库中检索相应区间的数据,并将其添加到TreeView的当前选中节点下面的一个新文件夹中。
    5. 为这个新文件夹添加一个新的TreeView控件,以便用户可以进一步查看和管理这个文件夹中的内容。

    以下是实现这些功能的一些示例代码:

    // 定义你的数据库表结构
    public class MyData
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // 定义你的TreeView控制器
    public partial class TreeViewController : Controller
    {
        // 管理TreeView控件的事件处理器
        protected void OnTreeNodeClicked(object sender, TreeNodeEventArgs e)
        {
            // 从数据库中获取相应区间的数据
            var query = "SELECT * FROM MyData WHERE Id BETWEEN @StartId AND @EndId";
            using (var connection = new SqlConnection("YourConnectionString"))
            {
                connection.Open();
                using (var command = new SqlCommand(query, connection))
                {
                    command.Parameters.AddWithValue("@StartId", e.Node.Id - 1);
                    command.Parameters.AddWithValue("@EndId", e.Node.Id + 1);
                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        // 将数据添加到TreeView的当前选中节点下面的新文件夹中
                        AddToFolder(e.Node, reader[0], reader[1]);
                    }
                }
            }
        }
    
        private void AddToFolder(TreeNode node, int parentId, string name)
        {
            // 创建新的TreeView控件
            var folderNode = new TreeNode(name, node.Name, parentId);
            folderNode.Expand();
    
            // 添加到TreeView中
            node.Nodes.Add(folderNode);
    
            // 递归地处理所有子节点
            foreach (var child in folderNode.GetNodes())
            {
                AddToFolder(child, folderNode.Id, child.Text);
            }
        }
    }
    

    注意:这段代码只是一个简单的示例,你可能需要根据你的具体需求进行修改。例如,你可能需要在AddToFolder方法中处理错误情况,或者在数据库查询中添加更多的条件以获取更精确的结果。

    评论

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失