我现在做的treeview有个问题! 数据更新后无法在页面更新 只有关闭后再打开才行! 也就是绑定数据无法重新加载
好像缺少一个类似于 GridView1.DataBind(); 这样一个绑定属性!
我想点击一个按钮或点击子节点后 控件的内容会重新从数据库中读一次!
下边是我的绑定代码!
public void treeviewbd()
{
string sql = "select distinct 分组编号 from 试题数据";
SqlConnection myconn = DB.mysqlconnection();
myconn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(sql, myconn); DataSet ds = new DataSet();
adapter.Fill(ds, "sysobject"); foreach (DataRow dataRow in ds.Tables["sysobject"].Rows)
{
// 取得当前分组编号
string firstText = dataRow["分组编号"].ToString();
// 生成第一级节点
TreeNode node = new TreeNode();
node.SelectAction = TreeNodeSelectAction.Expand;
node.Text = firstText; // 取得当前分组下所有题号
string sqlChild = "Select ID,题组编号,成绩 from 试题数据 where 分组编号='" + firstText + "'";
SqlDataAdapter childAdapter = new SqlDataAdapter(sqlChild, myconn);
DataSet childDs = new DataSet();
childAdapter.Fill(childDs);
if (!IsPostBack)
{
DB.stid_cz = childDs.Tables[0].Rows[0][0].ToString();
this.st_text();
} foreach (DataRow childRow in childDs.Tables[0].Rows)
{
// 循环取题号
string childMenu = childRow["题组编号"].ToString();
string childid = childRow["ID"].ToString();
string childcj= childRow["成绩"].ToString(); // 生成二级节点
TreeNode childNode = new TreeNode();
childNode.Text = childMenu + "________得分:"+childcj;
childNode.Value = childid;
node.ChildNodes.Add(childNode);
}
TreeView1.Nodes.Add(node);
}
好像缺少一个类似于 GridView1.DataBind(); 这样一个绑定属性!
我想点击一个按钮或点击子节点后 控件的内容会重新从数据库中读一次!
下边是我的绑定代码!
public void treeviewbd()
{
string sql = "select distinct 分组编号 from 试题数据";
SqlConnection myconn = DB.mysqlconnection();
myconn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(sql, myconn); DataSet ds = new DataSet();
adapter.Fill(ds, "sysobject"); foreach (DataRow dataRow in ds.Tables["sysobject"].Rows)
{
// 取得当前分组编号
string firstText = dataRow["分组编号"].ToString();
// 生成第一级节点
TreeNode node = new TreeNode();
node.SelectAction = TreeNodeSelectAction.Expand;
node.Text = firstText; // 取得当前分组下所有题号
string sqlChild = "Select ID,题组编号,成绩 from 试题数据 where 分组编号='" + firstText + "'";
SqlDataAdapter childAdapter = new SqlDataAdapter(sqlChild, myconn);
DataSet childDs = new DataSet();
childAdapter.Fill(childDs);
if (!IsPostBack)
{
DB.stid_cz = childDs.Tables[0].Rows[0][0].ToString();
this.st_text();
} foreach (DataRow childRow in childDs.Tables[0].Rows)
{
// 循环取题号
string childMenu = childRow["题组编号"].ToString();
string childid = childRow["ID"].ToString();
string childcj= childRow["成绩"].ToString(); // 生成二级节点
TreeNode childNode = new TreeNode();
childNode.Text = childMenu + "________得分:"+childcj;
childNode.Value = childid;
node.ChildNodes.Add(childNode);
}
TreeView1.Nodes.Add(node);
}
解决方案 »
- 关于CSV格式分割问题
- asp用代码怎么删除上传到文件夹里的附件
- 如何在css中读取flash文件及flash在FF浏览器不兼容的问题
- 菜鸟提问!入门级的问题!
- 用WebGrid存储搜索结果的问题
- |zyciis| 在改以前上个程序员留下的网站FormsAuthentication.SignOut()有什么用呢,我都是用Session来验证的 谢谢 急
- vs2008 在webForm頁面中如何获取confirm的确认或取消
- Web在线编辑器WebHtmlEditor 1.7.2006.0420 Release提供下载(Support .NET Framework v2.0,Support .NET Framework v1.1)
- 各位兄弟、姐妹,好!请问一下。谁知道那里有这本《Oracle 编程入门经典——覆盖至 Oracle 9i 版本》电子书下载!
- 页面输出缓存的问题,急~~~~
- 100分求省市表
- 网站的管理日志功能
TreeView1.Nodes.Add(node);
用这个就OK了吧!
最后DataBind()
然后页面加载以及每次你点按钮,就调用initTreeView(),
函数里面第一行最好先把所有节点清掉
那样要换方法去做整个treeview的绑定了!
最好能在现在代码的基础上去改! 人笨 经不起折腾!