asp.net treeview checkbox 相關問題
更新時間:2009年06月06日 17:42:03 作者:
asp.net treeview checkbox 相關問題,需要的朋友可以看下。
private void Display()
{
dt = new TsOrganize().OrganizeDs();
DataView dv = new DataView(dt);
TreeNode nodes = new TreeNode();
nodes.Text = "兩岸咖啡";
nodes.Value = "0";
if (dt.Rows.Count >= 1)
{
dv.RowFilter = "fParentId=''";
if (dv.Count >= 1)
{
foreach (DataRowView drrow in dv)
{
TreeNode nodel = new TreeNode();
nodel.Text = drrow.Row["fOrgName"].ToString();
nodel.Value = drrow.Row["forgNo"].ToString();
nodes.ChildNodes.Add(nodel);
NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());
}
}
}
treevList.Nodes.Add(nodes);
}
//生成樹
private void NodeList(DataView dv, TreeNode node, string ParentId)
{
dv.RowFilter = "fParentId='" + ParentId.ToString() + "'";
if (dv.Count >= 1)
{
foreach (DataRowView drrow in dv)
{
TreeNode nodel = new TreeNode();
nodel.Text = drrow.Row["fOrgName"].ToString();
nodel.Value = drrow.Row["forgNo"].ToString();
node.ChildNodes.Add(nodel);
NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());
}
}
}
============================================================
1.
TreeNodeCollection tnc = treevList.CheckedNodes;
//獲取樹中所有選定的節(jié)點
private void GetCheckNode(TreeNodeCollection tnc)
{
foreach (TreeNode node in tnc)
{
if(node.Checked)
{
if (node.ChildNodes.Count == 0)
{
DataRow dr = tblSelChains.NewRow();
dr["forgNo"] = node.Value;
dr["fOrgName"] = node.Text.ToString();
tblSelChains.Rows.Add(dr);
}
}
}
}
2.根據(jù)根據(jù)數(shù)據(jù)庫中的值,給相應的節(jié)點的CHECKED=true
/// <summary>
///dtPloyStore :是表(保存從數(shù)據(jù)庫中讀取的數(shù)據(jù))
/// <para></para>
/// </summary>
TreeNodeCollection tnc = treevList.Nodes ;
if (dtPloyStore != null)
{
if (dtPloyStore.Rows.Count > 0)
{
for (int i = 0; i < dtPloyStore.Rows.Count; i++)
{
GetSelectedTreeNode(tnc, dtPloyStore.Rows[i]["fOrgNo"].ToString());
}
}
}
/// <summary>
/// 遍歷門店樹,得到選中的節(jié)點
/// <para></para>
/// </summary>
/// <param name="tnc"></param>
public void GetSelectedTreeNode(TreeNodeCollection tnc,string CheckData)
{
foreach (TreeNode node in tnc)
{
if (node.Checked)
{
node.Checked = true;
break;
}
GetSelectedTreeNode(node.ChildNodes, CheckData);
}
}
3.javascript實現(xiàn)選中父節(jié)點,子節(jié)點自動選中
///后臺給treeview添加屬性
/// this.treevList.Attributes.Add("onclick", "OnTreeNodeChecked()");
///下面是在前臺javascript中編寫的
function OnTreeNodeChecked() {
var ele = window.event.srcElement;
if (ele.type == 'checkbox') {
var childrenDivID = ele.id.replace('CheckBox', 'Nodes');
var div = document.getElementById(childrenDivID);
if (div == null) return;
var checkBoxs = div.getElementsByTagName('INPUT');
for (var i = 0; i < checkBoxs.length; i++) {
if (checkBoxs[i].type == 'checkbox')
checkBoxs[i].checked = ele.checked;
}
}
4.在 treeview上顯示CHECKBOX,其實很簡單,只要設置 ShowCheckBoxes="All"
如果我們想顯示treeviw的設定層,我們可以設置 ExpandDepth="N" (N為數(shù)字,就是你想顯示的層數(shù),0為全部層)
{
dt = new TsOrganize().OrganizeDs();
DataView dv = new DataView(dt);
TreeNode nodes = new TreeNode();
nodes.Text = "兩岸咖啡";
nodes.Value = "0";
if (dt.Rows.Count >= 1)
{
dv.RowFilter = "fParentId=''";
if (dv.Count >= 1)
{
foreach (DataRowView drrow in dv)
{
TreeNode nodel = new TreeNode();
nodel.Text = drrow.Row["fOrgName"].ToString();
nodel.Value = drrow.Row["forgNo"].ToString();
nodes.ChildNodes.Add(nodel);
NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());
}
}
}
treevList.Nodes.Add(nodes);
}
//生成樹
private void NodeList(DataView dv, TreeNode node, string ParentId)
{
dv.RowFilter = "fParentId='" + ParentId.ToString() + "'";
if (dv.Count >= 1)
{
foreach (DataRowView drrow in dv)
{
TreeNode nodel = new TreeNode();
nodel.Text = drrow.Row["fOrgName"].ToString();
nodel.Value = drrow.Row["forgNo"].ToString();
node.ChildNodes.Add(nodel);
NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());
}
}
}
============================================================
1.
TreeNodeCollection tnc = treevList.CheckedNodes;
//獲取樹中所有選定的節(jié)點
private void GetCheckNode(TreeNodeCollection tnc)
{
foreach (TreeNode node in tnc)
{
if(node.Checked)
{
if (node.ChildNodes.Count == 0)
{
DataRow dr = tblSelChains.NewRow();
dr["forgNo"] = node.Value;
dr["fOrgName"] = node.Text.ToString();
tblSelChains.Rows.Add(dr);
}
}
}
}
2.根據(jù)根據(jù)數(shù)據(jù)庫中的值,給相應的節(jié)點的CHECKED=true
/// <summary>
///dtPloyStore :是表(保存從數(shù)據(jù)庫中讀取的數(shù)據(jù))
/// <para></para>
/// </summary>
TreeNodeCollection tnc = treevList.Nodes ;
if (dtPloyStore != null)
{
if (dtPloyStore.Rows.Count > 0)
{
for (int i = 0; i < dtPloyStore.Rows.Count; i++)
{
GetSelectedTreeNode(tnc, dtPloyStore.Rows[i]["fOrgNo"].ToString());
}
}
}
/// <summary>
/// 遍歷門店樹,得到選中的節(jié)點
/// <para></para>
/// </summary>
/// <param name="tnc"></param>
public void GetSelectedTreeNode(TreeNodeCollection tnc,string CheckData)
{
foreach (TreeNode node in tnc)
{
if (node.Checked)
{
node.Checked = true;
break;
}
GetSelectedTreeNode(node.ChildNodes, CheckData);
}
}
3.javascript實現(xiàn)選中父節(jié)點,子節(jié)點自動選中
///后臺給treeview添加屬性
/// this.treevList.Attributes.Add("onclick", "OnTreeNodeChecked()");
///下面是在前臺javascript中編寫的
function OnTreeNodeChecked() {
var ele = window.event.srcElement;
if (ele.type == 'checkbox') {
var childrenDivID = ele.id.replace('CheckBox', 'Nodes');
var div = document.getElementById(childrenDivID);
if (div == null) return;
var checkBoxs = div.getElementsByTagName('INPUT');
for (var i = 0; i < checkBoxs.length; i++) {
if (checkBoxs[i].type == 'checkbox')
checkBoxs[i].checked = ele.checked;
}
}
4.在 treeview上顯示CHECKBOX,其實很簡單,只要設置 ShowCheckBoxes="All"
如果我們想顯示treeviw的設定層,我們可以設置 ExpandDepth="N" (N為數(shù)字,就是你想顯示的層數(shù),0為全部層)
您可能感興趣的文章:
- asp.net Repeater取得CheckBox選中的某行某個值的c#寫法
- asp.net gridview中用checkbox全選的幾種實現(xiàn)的區(qū)別
- asp.net checkbox 動態(tài)綁定id GridView刪除提示
- asp.net GridView控件中模板列CheckBox全選、反選、取消
- asp.net Javascript獲取CheckBoxList的value
- asp.net 獲取Datalist中Checkbox的值的小結(jié)
- ASP.NET Gridview與checkbox全選、全不選實現(xiàn)代碼
- ASP.NET jQuery 實例5 (顯示CheckBoxList成員選中的內(nèi)容)
- ASP.NET jQuery 實例6 (實現(xiàn)CheckBoxList成員全選或全取消)
- ASP.NET jQuery 實例15 通過控件CustomValidator驗證CheckBoxList
- asp.net CheckBoxList各項最小寬度CSS樣式(兼容性good)
- ASP.NET中用js取CheckBoxList中值的方法實例
- ASP.NET服務器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- ASP.NET DropDownListCheckBox使用示例(解決回發(fā)問題)
- ASP.NET中 CheckBox復選框控件的使用
相關文章
C# javaScript函數(shù)的相互調(diào)用
如何在JavaScript訪問C#函數(shù),如何在C#中訪問JavaScript的已有變量等實現(xiàn)方法2008-12-12.NET?Core使用SkiaSharp實現(xiàn)快速生成二維碼
這篇文章主要為大家詳細介紹了.NET?Core如何使用SkiaSharp實現(xiàn)快速生成二維碼,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-01-01ASP.NET中實現(xiàn)jQuery Validation-Engine的Ajax驗證
在jQuery的表變驗證插件中Validation-Engine是一款高質(zhì)量的產(chǎn)品,提示效果非常精美,而且里面包含了AJAX驗證功能2012-06-06