Backup/Discuz.Control/ListBoxTreeList.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Data;
using System.Web.UI;
using System.Web;
using System.Web.UI.WebControls;
using System.ComponentModel;
using Discuz.Common;
using Discuz.Data;
namespace Discuz.Control
{
/// <summary>
/// 树形列表框控件。
/// </summary>
[DefaultProperty("Text"),ToolboxData("<{0}:ListBoxTreeList runat=server></{0}:ListBoxTreeList>")]
public class ListBoxTreeList : Discuz.Control.WebControl
{
/// <summary>
/// 列表框控件变量
/// </summary>
public System.Web.UI.WebControls.ListBox TypeID=new System.Web.UI.WebControls.ListBox();
public void BuildTree(DataTable dt, string textName, string valueName)
{
string SelectedType = "0";
TypeID.SelectedValue = SelectedType;
this.Controls.Add(TypeID);
TypeID.Items.Clear();
//加载树
TypeID.Items.Add(new ListItem("请选择 ", "0"));
DataRow[] drs = dt.Select(this.ParentID + "=0");
foreach (DataRow r in drs)
{
TypeID.Items.Add(new ListItem(r[textName].ToString(), r[valueName].ToString()));
string blank = HttpUtility.HtmlDecode(" ");
BindNode(r[0].ToString(), dt, textName, valueName, blank);
}
TypeID.DataBind();
}
/// <summary>
/// 创建树结点
/// </summary>
/// <param name="sonparentid">当前数据项</param>
/// <param name="dt">数据表</param>
/// <param name="blank">空白符</param>
private void BindNode(string sonparentid, DataTable dt, string textName, string valueName, string blank)
{
DataRow [] drs = dt.Select(this.ParentID+"=" + sonparentid );
foreach( DataRow r in drs )
{
string nodevalue = r[valueName].ToString();
string text = r[textName].ToString();
text = blank + text;
后面还有 84 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
