asp.net treeview checkbox 相關(guān)問題
更新時(shí)間:2009年06月06日 17:42:03 作者:
asp.net treeview checkbox 相關(guān)問題,需要的朋友可以看下。
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é)點(diǎn)
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ù)庫中的值,給相應(yīng)的節(jié)點(diǎn)的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é)點(diǎn)
/// <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實(shí)現(xiàn)選中父節(jié)點(diǎn),子節(jié)點(diǎn)自動(dòng)選中
///后臺(tái)給treeview添加屬性
/// this.treevList.Attributes.Add("onclick", "OnTreeNodeChecked()");
///下面是在前臺(tái)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,其實(shí)很簡(jiǎn)單,只要設(shè)置 ShowCheckBoxes="All"
如果我們想顯示treeviw的設(shè)定層,我們可以設(shè)置 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é)點(diǎn)
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ù)庫中的值,給相應(yīng)的節(jié)點(diǎn)的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é)點(diǎn)
/// <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實(shí)現(xiàn)選中父節(jié)點(diǎn),子節(jié)點(diǎn)自動(dòng)選中
///后臺(tái)給treeview添加屬性
/// this.treevList.Attributes.Add("onclick", "OnTreeNodeChecked()");
///下面是在前臺(tái)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,其實(shí)很簡(jiǎn)單,只要設(shè)置 ShowCheckBoxes="All"
如果我們想顯示treeviw的設(shè)定層,我們可以設(shè)置 ExpandDepth="N" (N為數(shù)字,就是你想顯示的層數(shù),0為全部層)
您可能感興趣的文章:
- asp.net Repeater取得CheckBox選中的某行某個(gè)值的c#寫法
- asp.net gridview中用checkbox全選的幾種實(shí)現(xiàn)的區(qū)別
- asp.net checkbox 動(dòng)態(tài)綁定id GridView刪除提示
- asp.net GridView控件中模板列CheckBox全選、反選、取消
- asp.net Javascript獲取CheckBoxList的value
- asp.net 獲取Datalist中Checkbox的值的小結(jié)
- ASP.NET Gridview與checkbox全選、全不選實(shí)現(xiàn)代碼
- ASP.NET jQuery 實(shí)例5 (顯示CheckBoxList成員選中的內(nèi)容)
- ASP.NET jQuery 實(shí)例6 (實(shí)現(xiàn)CheckBoxList成員全選或全取消)
- ASP.NET jQuery 實(shí)例15 通過控件CustomValidator驗(yàn)證CheckBoxList
- asp.net CheckBoxList各項(xiàng)最小寬度CSS樣式(兼容性good)
- ASP.NET中用js取CheckBoxList中值的方法實(shí)例
- ASP.NET服務(wù)器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- ASP.NET DropDownListCheckBox使用示例(解決回發(fā)問題)
- ASP.NET中 CheckBox復(fù)選框控件的使用
相關(guān)文章
C# javaScript函數(shù)的相互調(diào)用
如何在JavaScript訪問C#函數(shù),如何在C#中訪問JavaScript的已有變量等實(shí)現(xiàn)方法2008-12-12透過ashx看瀏覽器服務(wù)器運(yùn)行本質(zhì)(圖解)
一般處理程序(HttpHandler):是一個(gè)實(shí)現(xiàn)System.Web.IHttpHandler接口的特殊類。任何一個(gè)實(shí)現(xiàn)了IHttpHandler接口的類是作為一個(gè)外部請(qǐng)求的目標(biāo)程序的前提,感興趣的朋友可以了解下或許有所幫助2013-01-01.NET中l(wèi)ambda表達(dá)式合并問題及解決方法
這篇文章主要介紹了.net?lambda表達(dá)式合并問題,解決方法是自己構(gòu)造一個(gè)新的表達(dá)式,構(gòu)造表達(dá)式需要用到expression類,本文結(jié)合實(shí)例代碼給大家詳細(xì)介紹,需要的朋友可以參考下2022-10-10.NET?Core使用SkiaSharp實(shí)現(xiàn)快速生成二維碼
這篇文章主要為大家詳細(xì)介紹了.NET?Core如何使用SkiaSharp實(shí)現(xiàn)快速生成二維碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01ASP.NET中實(shí)現(xiàn)jQuery Validation-Engine的Ajax驗(yàn)證
在jQuery的表變驗(yàn)證插件中Validation-Engine是一款高質(zhì)量的產(chǎn)品,提示效果非常精美,而且里面包含了AJAX驗(yàn)證功能2012-06-06