<
telerik:RadGrid ID="RadGrid1" ShowFooter="true"
Width="99%" EnableLinqExpressions="false" FooterStyle-CssClass="GridColHeadNormal"
AllowSorting="True" runat="server">
<MasterTableView ClientDataKeyNames="KEYID">
<Columns>
<telerik:GridBoundColumn HeaderText="Employee Name" DataField="Name" UniqueName="Name"
SortExpression="Name" FilterControlWidth="100%" AutoPostBackOnFilter="true"
CurrentFilterFunction="contains" ShowFilterIcon="false" Resizable="False" />
<telerik:GridBoundColumn HeaderText="SSN" DataField="EMP_SSN"
UniqueName="SSN" SortExpression="EMP_SSN" FilterControlWidth="100px" AutoPostBackOnFilter="true"
CurrentFilterFunction="contains" ShowFilterIcon="false" Resizable="False" />
<telerik:GridBoundColumn HeaderText="Pay Period" DataField="CODE" SortExpression="CODE"
UniqueName="CODE" AutoPostBackOnFilter="true" Resizable="False" >
<FilterTemplate>
<telerik:RadComboBox ID="RadComboBoxPP" DataSourceID="SqlDataSourcePP" DataTextField="Code" Width="100px"
DataValueField="Code" Height="100px" AppendDataBoundItems="true" OnClientSelectedIndexChanged="SelectedIndexChanged"
SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Code").CurrentFilterValue %>'
runat="server">
<Items>
<telerik:RadComboBoxItem Text="All" />
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function SelectedIndexChanged(sender,args) {
var tableView=$find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");
sender.value= args.get_item().get_value();
tableView.filter(
"CODE",args.get_item().get_value(),"EqualTo");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Department" Aggregate="Count" DataField="Department" SortExpression="Department"
UniqueName="Department" AutoPostBackOnFilter="true" Resizable="False" >
<FilterTemplate>
<telerik:RadComboBox ID="RadComboBoxDep" DataSourceID="SqlDataSourceDepartment" DataTextField="Department"
DataValueField="Department" Height="100px" AppendDataBoundItems="true" OnClientSelectedIndexChanged="SelectedIndexChanged2"
SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Department").CurrentFilterValue %>'
runat="server">
<Items>
<telerik:RadComboBoxItem Text="All" />
</Items>
</telerik:RadComboBox>
<telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">
<script type="text/javascript">
function SelectedIndexChanged2(sender,args) {
var tableView=$find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");
sender.value= args.get_item().get_value();
tableView.filter(
"Department",args.get_item().get_value(),"EqualTo");
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
<FooterStyle CssClass="GridColHeadNormal" />
</telerik:GridBoundColumn>
<telerik:GridNumericColumn Aggregate="Count" DataField="KEYID" Display="false"
UniqueName="KEYID" SortExpression="KEYID" ShowFilterIcon="false" AllowFiltering="false" />
</Columns>
</MasterTableView>
<ClientSettings AllowGroupExpandCollapse="False" AllowExpandCollapse="False" ReorderColumnsOnClient="False" Resizing-AllowColumnResize="False" Resizing-ClipCellContentOnResize="True" Scrolling-ScrollHeight="350px">
<ClientEvents OnRowSelected="RowSelected" />
</ClientSettings>
</telerik:RadGrid>
css
.normal
{
font-family: Verdana, 'MS Sans Serif';
font-weight: normal;
font-size: 8pt;
}
.GridColHeadNormal
{
background-color: #3969A5;
color:White ;
font-weight:normal;
font-size: 8pt;
width: 1%;
text-align: center;
}
.GridRow
{
padding-right: 5px;
padding-left: 3px;
cursor: pointer;
background-color: white;
height: 18px;
white-space: nowrap;
vertical-align: top;
text-align: left;
}
.GridAltRow
{
padding-right: 5px;
padding-left: 3px;
/*background-color: #EFE7EF;*/
background-color: #efefef;
cursor: pointer;
height: 18px;
white-space: nowrap;
vertical-align: top;
text-align: left;
}
Base class page load
Protected Sub SetRadGridProperties(ByVal grd As RadGrid)
Try
grd.EnableEmbeddedSkins =
False
grd.AutoGenerateColumns =
False
grd.CssClass =
"normal"
'grd.ShowFooter = False
grd.BorderColor = System.Drawing.Color.FromArgb(66, 105, 99)
grd.BorderWidth =
New System.Web.UI.WebControls.Unit("1")
'grd.GridLines = GridLines.Both
grd.CellPadding = 0
grd.CellSpacing = 0
grd.BorderStyle = System.Web.UI.WebControls.BorderStyle.Outset
grd.HeaderStyle.Height =
New System.Web.UI.WebControls.Unit("24")
grd.HeaderStyle.Width =
New System.Web.UI.WebControls.Unit("1")
grd.HeaderStyle.VerticalAlign = VerticalAlign.NotSet
grd.HeaderStyle.CssClass =
"GridColHeadNormal"
grd.ItemStyle.CssClass =
"GridRow"
grd.AlternatingItemStyle.CssClass =
"GridAltRow"
grd.PagerStyle.Height =
New System.Web.UI.WebControls.Unit("18")
grd.PagerStyle.HorizontalAlign = HorizontalAlign.NotSet
grd.PagerStyle.Mode = System.Web.UI.WebControls.PagerMode.NumericPages
grd.AllowSorting =
True
grd.EnableLinqExpressions =
False
grd.AllowFilteringByColumn =
True
grd.ClientSettings.Selecting.AllowRowSelect =
True
grd.ClientSettings.Scrolling.UseStaticHeaders =
True
grd.AllowMultiRowSelection =
True
grd.GridLines = GridLines.Both
''grd.ClientSettings.Scrolling.ScrollHeight = Unit.Percentage(60)
grd.ClientSettings.Scrolling.AllowScroll =
True
grd.FilterItemStyle.Height = Unit.Pixel(30)
Catch ex As Exception
End Try
End Sub
Protected
Sub BindGrid2()
Dim sFilter As String = ""
Dim ssnLookUp As String = "" '--filter text box type #+, etc
Dim nKeyID As Integer = -1 '--selected criteria id
Dim iMode As Integer = 0 '--filter combo
Dim sEnhSQL As String = "1=1"
Dim blnTerm As Boolean = False '--Not clear
Dim sNumEmpNo As String = "Y" '--if emp no is numeric > global setting
Dim sValidateEmp As String = "N" '--if validate emp > global setting
Dim obj As New PerfectEmployee
Dim strExcep As String = ""
Try
If Not Page.IsPostBack Then
sourceMode =
"(For Groups)"
If obj.GetData(SqlDataSourceGroups, strExcep, "groups") = False Then
Throw New Exception(strExcep.ToString)
End If
sourceMode =
"(For Users)"
If obj.GetData(SqlDataSourceUsers, strExcep, "users") = False Then
Throw New Exception(strExcep.ToString)
End If
End If
If isSelIndex = False Then BindFilters()
sourceMode =
"(For Departments)"
If obj.GetData(SqlDataSourceDepartment, strExcep, "departments") = False Then
Throw New Exception(strExcep.ToString)
End If
sourceMode =
"(For Payperiods)"
If obj.GetData(SqlDataSourcePP, strExcep, "payperiods") = False Then
Throw New Exception(strExcep.ToString)
End If
iDisplayMode = 1
'--Name
sFilter = txtSearch.Text &
""
If sFilter.Trim <> "" Then
If sFilter.Substring(0, 1) >= "0" And sFilter.Substring(0, 1) <= "9" Then
ssnLookUp =
"TRUE"
iDisplayMode = 2
'--SSN Mumber
End If
If sFilter.Substring(0, 1) = "#" Then
iDisplayMode = 3
'--emp number
ElseIf sFilter.Substring(0, 1) = "+" Then
iDisplayMode = 4
'--Pay File Number
End If
End If
G_StrAdCriteria =
"1=1"
iMode = cmbMode.SelectedIndex
If (cmbCriteria.SelectedIndex >= cmbCriteria.Items.Count - 1) Then
G_StrAdCriteria = Request.Form(
"hdAdCriteria") & ""
If IsNumeric(G_StrAdCriteria) Then
nKeyID =
CInt(G_StrAdCriteria)
G_StrAdCriteria = GetCriteriaFormula(nKeyID)
G_StrAdCriteria = NulltoNone(G_StrAdCriteria,
"1=1")
End If
ElseIf (cmbCriteria.SelectedIndex <> 0) Then
Dim sPart1 As String = cmbCriteria.SelectedItem.Value.Split("|")(0).ToString()
Dim sPart2 As String = cmbCriteria.SelectedItem.Value.Split("|")(1).ToString()
sFlagForCrit = sPart2
nKeyID =
CInt(sPart1)
Dim sSelText As String
sSelText = cmbCriteria.SelectedItem.Text
'-- to avoid unhandled NULL statements.
If InStr(sSelText, "(filter)") > 0 Then
G_StrAdCriteria =
""
Else
G_StrAdCriteria = GetCriteriaFormula(nKeyID) &
"" '--check if criteria selected
End If
End If
G_StrAdCriteria = NulltoNone(G_StrAdCriteria,
"1=1")
'Code to filter employees based on groups, department and Payperiods
If radioGD.Items(1).Selected = True Then
G_StrAdCriteria = G_StrAdCriteria &
" and employee_main.keyid in (Select emp_key from employee_group where GRP_Key = " & cmbGroup.Items(cmbGroup.SelectedIndex).Value & ") "
'ElseIf radioGD.Items(2).Selected = True Then
' G_StrAdCriteria = G_StrAdCriteria & " and employee_main.keyid in (Select emp_key from employee_Department where DEP_KEY = " & cmbDepartment.Items(cmbDepartment.SelectedIndex).Value & ") "
'ElseIf radioGD.Items(3).Selected = True Then
' G_StrAdCriteria = G_StrAdCriteria & " and employee_main.EmpPayPeriodCd=" & cmbPayPeriod.Items(cmbPayPeriod.SelectedIndex).Value & " "
End If
'grid
RadGrid1.MasterTableView.GetColumn(
"Name").HeaderStyle.Width = Unit.Percentage(25)
RadGrid1.MasterTableView.GetColumn(
"SSN").HeaderStyle.Width = Unit.Percentage(25)
RadGrid1.MasterTableView.GetColumn(
"CODE").HeaderStyle.Width = Unit.Percentage(20)
RadGrid1.MasterTableView.GetColumn(
"Department").HeaderStyle.Width = Unit.Percentage(25)
RadGrid1.MasterTableView.GetColumn(
"KEYID").HeaderStyle.Width = Unit.Point(0)
SqlDataSourceGrid.ConnectionString = conString
SqlDataSourceGrid.SelectCommand =
"spFilterEmployee"
SqlDataSourceGrid.SelectCommandType = SqlDataSourceCommandType.StoredProcedure
SqlDataSourceGrid.SelectParameters.Clear()
SqlDataSourceGrid.SelectParameters.Add(
"Mode", cmbMode.SelectedIndex)
SqlDataSourceGrid.SelectParameters.Add(
"gtxtEnhancedSQL", sEnhSQL)
SqlDataSourceGrid.SelectParameters.Add(
"Term", 0)
SqlDataSourceGrid.SelectParameters.Add(
"strAdditionalCriteria", G_StrAdCriteria)
SqlDataSourceGrid.SelectParameters.Add(
"NUMERICEMPNBR", sNumEmpNo)
SqlDataSourceGrid.SelectParameters.Add(
"EMPVALIDATION", sValidateEmp)
RadGrid1.DataSourceID =
"SqlDataSourceGrid"
Catch excep As Exception
DisplayError(excep)
Finally
'If (Not objDS Is Nothing) Then
' objDS.Dispose()
' objDS = Nothing
'End If
'If (Not objDS Is Nothing) Then
' objDV.Dispose()
' objDV = Nothing
'End If
'If (Not objEmp Is Nothing) Then
' objEmp.Dispose()
' objEmp = Nothing
'End If
'If (Not objIntegration Is Nothing) Then
' objIntegration.Dispose()
' objIntegration = Nothing
'End If
'If (Not objCombo Is Nothing) Then
' objCombo.Dispose()
' objCombo = Nothing
'End If
End Try
End Sub
<telerik:AjaxSetting AjaxControlID="RadCategoriesTreeView"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="TextItemPanel" LoadingPanelID="RadAjaxLoadingPanel1" />
<telerik:AjaxUpdatedControl ControlID="RadCategoriesTreeView" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls></telerik:AjaxSetting>protected void IncrementalSearchEvent(object sender, RadComboBoxItemsRequestedEventArgs e){ ClientBLL clientBLL = new ClientBLL(); var clients = clientBLL.IncrementalSearch(e.Text, Int32.Parse(rdoStatus.SelectedValue), 4); foreach (NameValuePair client in clients) { CachePerson obj = ObjectTools.GetObjectPerson(client.Value); RadComboBoxItem item = new RadComboBoxItem(); item.Attributes["FirstName"] = obj.FirstName; item.Attributes["LastName"] = obj.LastName; item.Text = obj.FullName; item.Value = obj.PersonId.ToString(); selSelectedClient.Items.Add(item); } selSelectedClient.DataBind();}<telerik:RadComboBox ID="selSelectedClient" runat="server" Skin="Telerik" EnableLoadOnDemand="true" onitemsrequested="IncrementalSearchEvent"> <HeaderTemplate> <table border="0" width="590"> <tr> <td width="100">First Name</td> <td width="100">Last Name</td> </tr> </table> </HeaderTemplate> <ItemTemplate> <table border="0" width="590"><tr> <td width="100"><%# DataBinder.Eval(Container, "Attributes['FirstName']")%></td> <td width="100"><%# DataBinder.Eval(Container, "Attributes['LastName']")%></td> </tr> </table> </ItemTemplate></telerik:RadComboBox>protected void Page_Load(object sender, EventArgs e) { UI ui = GetUI(); //if (!IsPostBack) //{ // BindTvCaseType(ui); //} if (Session[Common.userSession] == null || ((AdManager.UserInfo)Session[Common.userSession]).Status == AdManager.LoginStatus.Error) Response.Redirect("default.aspx"); //UI ui = GetUI(); BindCmbSeverity(ui); BindCmbCharacter(ui); BindTvCaseType(ui); BindTvCaseType(ui); //This is where i bind the treeview ui.tvType.ID = "tvCaseType"; ui.labEmail.Text = (((AdManager.UserInfo)Session[Common.userSession]).Email); if ((((AdManager.UserInfo)Session[Common.userSession]).Email) == "") { ui.panEmailNotification.Visible = false; } ui.btnStep2.Attributes.Add("OnClick", "checkStep1(); return false;"); ui.btnStep3.Attributes.Add("OnClick", "checkStep2(); return false;"); }private void BindTvCaseType(UI ui) { ui.tvType.Nodes.Clear(); dsHelpdeskG2TableAdapters.typesTableAdapter taCaseTypes = new dsHelpdeskG2TableAdapters.typesTableAdapter(); dsHelpdeskG2.typesDataTable dtCaseTypes = taCaseTypes.GetData(); ui.tvType.Nodes.AddRange(TreeviewBuilder.BuildRecursive(null, 0, null, dtCaseTypes, null)); }public static List<RadTreeNode> BuildRecursive(dsHelpdeskG2.typesRow drNodeRow, int rowLevel, dsHelpdeskG2.permissionsDataTable dtPermissions, dsHelpdeskG2.typesDataTable dtTypes, AdManager.UserInfo us) { List<RadTreeNode> nodeList = new List<RadTreeNode>(); if (rowLevel > 5) return nodeList; int c_ty_id = 0; if (drNodeRow != null) c_ty_id = drNodeRow.ty_id; var nodeTable = from c in dtTypes where c.ty_parent_id == c_ty_id orderby c.ty_id select c; foreach (var nodeRow in nodeTable) { RadTreeNode node = new RadTreeNode(); node.Value = nodeRow.ty_id.ToString(); node.Text = nodeRow.ty_name; node.Nodes.AddRange(BuildRecursive(nodeRow, rowLevel + 1, dtPermissions, dtTypes, us)); //node.ID = "tvTypeNode" + nodeRow.ty_id; if (node.Nodes.Count > 0) { //om den inte har childs node.Checkable = false; } else { //har childs.. //node.ch } nodeList.Add(node); } return nodeList; }protected void btnSendCase_Click(object sender, EventArgs e) { UI ui = GetUI(); dsHelpdeskG2TableAdapters.casesTableAdapter dtaCases = new dsHelpdeskG2TableAdapters.casesTableAdapter(); double anstId = ((AdManager.UserInfo)Session[Common.userSession]).AnstId; var temp = Request.Params; int caseTypeId = int.Parse(ui.tvType.CheckedNodes[0].Value); //This is where i set a int value and trye to retreave the checked node. int caseSeverity = int.Parse(ui.cmbSeverity.SelectedValue); int caseCharacter = int.Parse(ui.cmbCharacter.SelectedValue); string userIP = Request.ServerVariables["REMOTE_ADDR"]; string userHostname = Request.ServerVariables["REMOTE_HOST"]; string caseHeader = ui.txtRubrik.Text; bool caseNotification; if (ui.rbEmailYes.Checked) caseNotification = true; else caseNotification = false; dtaCases.Insert(anstId, null, caseTypeId, caseSeverity, caseCharacter, DateTime.Now, userIP, null, caseHeader, 1, caseNotification, null, null, userHostname); }<telerik:RadComboBox ID="cmbCaseType" runat="server" Skin="Windows7" Height="160px" Style="vertical-align: middle;" Width="225px"> <ItemTemplate> <div id="div1"> <telerik:RadTreeView ID="tvCaseType" runat="server" CheckBoxes="True" Height="160px" Width="100%" OnClientNodeChecked="nodeClicking"> </telerik:RadTreeView> </div> </ItemTemplate> <Items> <telerik:RadComboBoxItem Text="" /> </Items> <CollapseAnimation Type="None" /><ExpandAnimation Type="None" /> </telerik:RadComboBox><br /><
asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="checkTypeTreeview" ErrorMessage="CustomValidator" Display="Dynamic" ValidationGroup="Step1">Vnligen ange En rendetyp</asp:CustomValidator
>
<br
/>
var oldNode; function nodeClicking(sender, args) { var comboBox = $find("ctl00_phContent_pbCaseRegistration_i0_i0_cmbCaseType"); var node = args.get_node() if(oldNode != null) { oldNode.set_checked(false); } node.set_checked(true); oldNode = node; comboBox.set_text(node.get_text()); comboBox.trackChanges(); comboBox.get_items().getItem(0).set_text(node.get_text()); comboBox.commitChanges(); comboBox.hideDropDown(); }function checkTypeTreeview(source, arguments) { var treeView = document.getElementById("ctl00_phContent_pbCaseRegistration_i0_i0_cmbCaseType_i0_tvCaseType"); var checkBoxes = treeView.getElementsByTagName("input"); var checkedCount = 0; for (var i = 0; i < checkBoxes.length; i++) { if (checkBoxes[i].checked) { checkedCount++; } } if (checkedCount > 0 && checkedCount < 2) { arguments.IsValid = true; } else { arguments.IsValid = false; } }