Thursday, October 25, 2012

Tree View bind dynamically in asp.net

aspx:
 
<asp:TreeView ID="tvNavigator" ExpandDepth="1" PopulateNodesFromClient="true" ShowLines="true"
ShowExpandCollapse="true" runat="server" SelectedNodeStyle-BackColor="AliceBlue" />
aspx.cs:

private void ShowNavigatorMenu(int ID,int UserID){

ResponseStore<List<ECS.Business.Foundation.Navigator>> navigatorList = objNavigatorBroker.SelectNodes(ID,UserID);
if (navigatorList.Object != null){
objParentNodesList = navigatorList.Object;

foreach (ECS.Business.Foundation.Navigator treeNode in objParentNodesList.Where(item => item.ID == item.ParentID && item.Type.ToLower() == "Lev".ToLower())){

TreeNode ParentNode = new TreeNode();ParentNode.Text = treeNode.Name.ToString();
ParentNode.Value = treeNode.ID.ToString();
ParentNode.NavigateUrl =
"javascript:LevelClick('" + treeNode.ID + "')";tvNavigator.Nodes.Add(ParentNode);
RecursiveChild(ParentNode);
}
}
}

private void RecursiveChild(TreeNode ParentNode){

if (objParentNodesList.Count(item => item.ID != item.ParentID && item.ParentID.ToString() == ParentNode.Value) > 0){

foreach (ECS.Business.Foundation.Navigator chTreeNode in objParentNodesList.Where(item => item.ID != item.ParentID && item.ParentID.ToString() == ParentNode.Value)){

TreeNode childNode = new TreeNode();childNode.Text = chTreeNode.Name.ToString();
childNode.Value = chTreeNode.ID.ToString();
childNode.NavigateUrl =
"javascript:LevelClick('" + chTreeNode.ID + "')";ParentNode.ChildNodes.Add(childNode);

if (chTreeNode.Type.ToLower() == "Lev".ToLower()){
RecursiveChild(childNode);
}

else{
// show some image for location childNode.NavigateUrl = "javascript:LocationClick('" + chTreeNode.ID+ "')";childNode.ImageUrl =
"~/App_Images/Location.png";}
}
}
}

Treeview with radio button in asp.net

aspx:

<asp:TreeView ID="tvLevel" ExpandDepth="1" PopulateNodesFromClient="true" ShowLines="true"
ShowExpandCollapse="true" runat="server" Width="255px" Height="120px" Style="overflow: auto;
border: 1px solid #999999; border-radius: 4px 4px 4px 4px;"></asp:TreeView>
aspx.cs:

private void ShowLevelTreeview(int ParentID)
{
tvLevel.Nodes.Clear();

ResponseStore<List<ECS.Business.Foundation.Level>> LevelList = objLevelBroker.LevelSelectByParentID(ParentID);
if (LevelList.Object != null){
objParentNodesList = LevelList.Object;

foreach (ECS.Business.Foundation.Level treeNode in objParentNodesList.Where(item => item.ID == item.ParentID)){

TreeNode ParentNode = new TreeNode();ParentNode.Text =
"<input type='radio' name='rbLevel' value ='" + treeNode.ID.ToString() + "' id='rbLevel" + radindex + "'/>" + treeNode.Name;radindex++;

// ParentNode.Text =treeNode.Name.ToString();ParentNode.Value = treeNode.ID.ToString();
tvLevel.Nodes.Add(ParentNode);
RecursiveChild(ParentNode);
}
}
}
private void RecursiveChild(TreeNode ParentNode){

if (objParentNodesList.Count(item => item.ID != item.ParentID && item.ParentID.ToString() == ParentNode.Value) > 0){

foreach (ECS.Business.Foundation.Level chTreeNode in objParentNodesList.Where(item => item.ID != item.ParentID && item.ParentID.ToString() == ParentNode.Value)){

TreeNode childNode = new TreeNode();childNode.Text =
"<input type='radio' name='rbLevel' value ='" + chTreeNode.ID.ToString() + "' id='rbLevel" + radindex + "'/>" + chTreeNode.Name;radindex++;
childNode.Value = chTreeNode.ID.ToString();
ParentNode.ChildNodes.Add(childNode);
RecursiveChild(childNode);
}
}
}

multiple records insert in single statement using cross jopin in sql server

INSERT INTO table_name(Coll1,Coll2,Coll3)

SELECT @Variable1,C.items,E.items
FROM dbo.Split(@Variables, ',') AS C CROSS JOINdbo.Split(@Variables1, ',') AS E


Ex:


INSERT
INTO tbl_LMS_SessionEmpCourse_Xref(SessionID,CourseID,EmployeeID)
SELECT @SessionID,C.items,E.items
FROM dbo.Split(@CourseIDs, ',') AS C CROSS JOINdbo.Split(@EmployeeIDs, ',') AS E

INSERT INTO tbl_LMS_SessionEmpCourse_Xref(SessionID,CourseID,EmployeeID)
SELECT 1,C.items,E.items
FROM dbo.Split('1,3', ',') AS C CROSS JOINdbo.Split('4,5', ',') AS E