CallPriorityCode CallPriorityName NoOfCalls
1 Low 8
2 Medium 10
3 High 2
I want to show Pie chart with Percentage value ( Of NoOfCalls Data) as Lable and Call Priority Name in Legend Area.
But I can Show either of them only, I can not set "CallPriorityName " to DataYColumn Property
as this property requires Integer Data .
MY Code :-
<
telerik:RadChart ID="radchartCallsByPriority" runat="server"
Skin="LightGreen" AutoLayout="true" Height="250px" Width="450px" PlotArea-EmptySeriesMessage-TextBlock-Text="No calls found" >
<Series>
<telerik:ChartSeries Name="No. Of Calls" Type="Pie" DefaultLabelValue="#%" DataYColumn="NoOfCalls" Appearance-LabelAppearance-LabelLocation="Inside" Appearance-LegendDisplayMode="ItemLabels" Appearance-LabelAppearance-Visible="true">
</telerik:ChartSeries>
</Series>
<PlotArea>
<XAxis Appearance-LabelAppearance-RotationAngle="-45" Appearance-TextAppearance-AutoTextWrap="False" AxisLabel-TextBlock-Appearance-TextProperties-Font="20px">
</XAxis>
</PlotArea>
<ChartTitle>
<TextBlock Text="Calls By Priority" Visible="false" />
</ChartTitle>
</telerik:RadChart>
Any Help would be Higly appreciated.
Thanks in Advance
----------------------------------------------------
Ajay
hi telerik team,
i am unable to do filtering in rad grid.Can you please tell me what i am doing wrong.
<telerik:RadGrid runat="server" ID="filteringRadGrid" OnNeedDataSource="filteringRadGrid_NeedDataSource"
AutoGenerateColumns="false">
<MasterTableView EditMode="InPlace" AllowFilteringByColumn="true">
<Columns>
<telerik:GridTemplateColumn HeaderText="Date" UniqueName="ShippedDate">
<ItemTemplate>
<asp:Label ID="dateLabel" runat="server" Text='<%#Eval("date")%>'></asp:Label>
</ItemTemplate>
<FilterTemplate>
<telerik:RadDatePicker ID="filterRadDatePicker" runat="server" Width="100px" ClientEvents-OnDateSelected="DateSelected" />
<telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">
<script type="text/javascript">
function DateSelected(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
var date = FormatSelectedDate(sender);
//alert(date);
tableView.filter("date", date, "EqualTo");
}
function FormatSelectedDate(picker) {
var date = picker.get_selectedDate();
var dateInput = picker.get_dateInput();
var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());
return formattedDate;
}
</script>
</telerik:RadScriptBlock>
</FilterTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Date Time">
<ItemTemplate>
<asp:Label ID="dateTimeLabel" runat="server" Text='<%#Eval("dateTime") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Compliance Status">
<ItemTemplate>
<telerik:RadComboBox ID="compStatusRadComboBox" runat="server">
<Items>
<telerik:RadComboBoxItem Value="0" Text="ao" />
<telerik:RadComboBoxItem Value="1" Text="bo" />
<telerik:RadComboBoxItem Value="2" Text="co" />
</Items>
</telerik:RadComboBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
protected void filteringRadGrid_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("date");
dt.Columns.Add("dateTime");
dt.Columns.Add("cs");
dt.Rows.Add("1/12/2001", "1/12/2001 00:00:03 AM", "ao");
dt.Rows.Add("1/12/2002", "1/12/2002 00:00:06 AM", "co");
dt.Rows.Add("1/12/2003", "1/12/2003 00:00:09 AM", "bo");
filteringRadGrid.DataSource = dt;
}
File ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ManagerWorks.ascx.cs" Inherits="IPC_WORKS.UI.UserControl.ManagerWorks" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<style type="text/css">
.style1
{
height: 122px;
width: 118px;
}
.rgHeader
{}
.style3
{
height: 122px;
width: 249px;
}
.style4
{
width: 98px;
}
.style6
{
width: 111px;
}
.style7
{
width: 118px;
}
</style>
<center>
<table>
<tr>
<td valign = "top"><table width="100%" style="border-style">
<tr>
<td align ="right" class="style7"><asp:Label ID="Label12" runat="server" Text="Tên Công Việc"></asp:Label></td>
<td class="style6"><asp:TextBox ID="txtWF_TittleName" runat="server" Width="330px" ErrorMessage="Nhập tên công việc"></asp:TextBox></td>
</tr>
<tr>
<td align="right" class="style7"><asp:Label ID="Label11" runat="server" Text="Ngày Khởi Tạo"></asp:Label></td>
<td class="style4"><telerik:RadDatePicker ID="RdpCreateDate" runat="server"
Width="150px"></telerik:RadDatePicker></td>
</tr>
<tr>
<td align="right" class="style7"><asp:Label ID="Label7" runat="server" Text="Ngày Bắt Đầu"></asp:Label></td>
<td class="style6"><telerik:RadDatePicker ID="RdpStartDate" runat="server"
Width="150px"></telerik:RadDatePicker></td>
</tr>
<tr>
<td align="right" class="style7"><asp:Label ID="Label8" runat="server" Text="Ngày Kết Thúc"></asp:Label></td>
<td class="style4"><telerik:RadDatePicker ID="RdpEndDate" runat="server" Width="150px">
</telerik:RadDatePicker></td>
</tr>
<tr>
<td align="right" class="style7"><asp:Label ID="Label5" runat="server"
Text="Loại Công Việc" Width="113px"></asp:Label></td>
<td align="left" class="style6">
<telerik:RadComboBox ID="txtRadTypeCode" AllowCustomText="true"
MarkFirstMatch="true" runat="server"
DataTextField="Type_Name" Width="150px"
DataValueField = "Type_Code" EmptyMessage="Loại công việc">
</telerik:RadComboBox>
</td>
</tr>
<tr>
<td align="right" class="style7">
<asp:Label ID="Label4" runat="server" Text="Mức Độ Khó" Width="99px"></asp:Label>
</td>
<td align="left" class="style6">
<telerik:RadComboBox ID="txtRadLevelCode" AllowCustomText="true"
MarkFirstMatch="true" runat="server" DataTextField="Level_Name" DataValueField="Level_Code"
Width="150px" EmptyMessage="Mức độ khó">
</telerik:RadComboBox>
</td>
</tr>
<tr>
<td class="style1" align="right">
<asp:Label ID="Label3" runat="server" Text="Nội Dung Công Việc" ></asp:Label>
</td>
<td class="style3" colspan="3">
<asp:TextBox ID="txtWF_Quote" runat="server" Height="200px"
TextMode="MultiLine" Width="330px"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="4"></td>
</tr>
<tr>
<td colspan="4" align="center">
<asp:Button ID="btnNew" runat="server" Text = "Tạo Mới" Width="80px" onclick="btnNew_Click" />
<asp:Button ID="btnOK" runat="server" Text="Cập Nhật" onclick="btnOK_Click" Width="80px"/>
<asp:Button ID="btnDel" runat ="server" Text = "Xóa" Width="80px" onclick="btnDel_Click"/>
<asp:Button ID="btnFile" runat ="server" Text ="Tải tài liệu" Width="80px"/>
<asp:Button ID="btnGrantWorks" runat="server" Text="Giao Việc" Width="80px"/>
</td>
</tr>
</table></td>
<td valign="top">
<telerik:RadGrid ID="RadGrid_Works" AllowPaging="True" runat="server" OnItemCommand = "RadGrid_Works_ItemCommand"
OnItemDataBound="RadGrid_Works_ItemDataBound" Width="800px" GridLines="None"
AutoGenerateColumns="False" GroupingEnabled="False" Skin="Outlook"
Height="410px" onpageindexchanged="RadGrid_Works_PageIndexChanged">
<PagerStyle Mode="NextPrev" />
<MasterTableView TableLayout="Fixed" DataKeyNames="WF_Code" EditMode="InPlace" ClientDataKeyNames="WF_Code" PageSize="8" InsertItemPageIndexAction="ShowItemOnLastPage">
<Columns>
<telerik:GridTemplateColumn HeaderText="STT" DataField="WF_Code" HeaderStyle-Width="5%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblStt" runat="server" Text="" ></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="WF_TitleName" DataField="WF_TitleName" SortExpression="WF_TitleName" HeaderText="Tên Công Việc " HeaderStyle-Width="20%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblWF_TitleName" Height="36px" runat="server" Text='<%# Eval("WF_TitleName") %>'/>
<asp:TextBox ID="txtWF_TitleName" Height="36px" runat="server" Text='<%# Bind("WF_TitleName") %>' Width="20%" Style="display: none"/>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Left" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="WF_Quote" DataField="WF_Quote" SortExpression="WF_Quote" HeaderText="Nội Dung Công Việc" HeaderStyle-Width="25%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblWF_Quote" runat="server" Height="36px" Text='<%# Eval("WF_Quote") %>'/>
<asp:TextBox ID="txtWF_Quote" runat="server" Height="36px" Text='<%# Bind("WF_Quote") %>' Width="20%" Style="display: none" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="20%"></HeaderStyle>
<ItemStyle HorizontalAlign="Left" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Emp_Code" DataField="Emp_Code" SortExpression="Emp_Code" HeaderText="Người Tạo" HeaderStyle-Width="10%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblEmp_Code" Height="36px" runat="server" Text='<%# Eval("Emp_Code") %>'/>
<asp:TextBox ID="txtEmp_Code" Height="36px" runat="server" Text='<%# Bind("Emp_Code") %>' Width="10%" Style="display: none" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="10%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="WF_StartDate" DataField="WF_StartDate" SortExpression="WF_StartDate" HeaderText="Ngày Bắt Đầu " HeaderStyle-Width="15%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblWF_StartDate" runat="server" Text='<%# Eval("WF_StartDate","{0:d}") %>'/>
<asp:TextBox ID="txtWF_StartDate" runat="server" Text='<%# Bind("WF_StartDate","{0:d}") %>' Width="15%" Style="display: none" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="15%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="WF_EndDate" DataField="WF_EndDate" SortExpression="WF_EndDate" HeaderText="Ngày Kết Thúc " HeaderStyle-Width="15%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblWF_EndDate" runat="server" Text='<%# Eval("WF_EndDate","{0:d}") %>'/>
<asp:TextBox ID="txtWF_EndDate" runat="server" Text='<%# Bind("WF_EndDate","{0:d}") %>' Width="15%" Style="display: none" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="15%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="WF_Status" DataField="WF_Status" SortExpression="WF_Status" HeaderText="Trạng Thái" HeaderStyle-Width="15%" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblWF_Status" runat="server" Text='<%# Eval("WF_Status") %>'/>
<asp:TextBox ID="txtWF_Status" runat="server" Text='<%# Bind("WF_Status") %>' Width="15%" Style="display: none" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="15%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
</Columns>
<PagerStyle NextPageText="Trang sau" PrevPageText="Trang Trước" Mode="NumericPages" />
</MasterTableView>
<ClientSettings EnablePostBackOnRowClick="true" EnableRowHoverStyle="true" KeyboardNavigationSettings-AllowActiveRowCycle="true">
<Selecting AllowRowSelect="True" />
<KeyboardNavigationSettings AllowActiveRowCycle="True"></KeyboardNavigationSettings>
</ClientSettings>
</telerik:RadGrid>
</td>
</tr>
</table>
File .cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Caching;
using IPC.Bussiness;
using IPC.Utils;
using IPC.DataHelper;
using Telerik.Web.UI;
namespace IPC_WORKS.UI.UserControl
{
public partial class ManagerWorks : System.Web.UI.UserControl
{
#region biến toàn cục
protected string bkey;
public bool iKey = false;
public static int LastId = 0;//lastid
protected decimal WF_Code
{
get { return Convert.ToDecimal(ViewState["WF_Code"]); }
set { ViewState["WF_Code"] = value; }
}
#endregion
#region khởi tạo dữ liệu
protected void Page_Load(object sender, EventArgs e)
{
int startRow = (RadGrid_Works.CurrentPageIndex * RadGrid_Works.PageSize);
LoadGrid("", 0);
if (!Page.IsPostBack){
LoadCombo();
FillFirstData();
try{RadGrid_Works.MasterTableView.Items[startRow].Selected = true;}
catch (Exception){throw new Exception("Khong co so lieu");}
}
}
#endregion
#region xử lý dữ liệu form đăng ký công việc
private void LoadGrid(string sSQLSearch, int iCheck)
{
BindData();
}
private void BindData()
{
DataTable dt = WorkController.Gets();
if (dt != null)
{
RadGrid_Works.DataSource = dt;
RadGrid_Works.DataBind();
RadGrid_Works.AutoGenerateColumns = false;
try{
for (int i = 0; i < RadGrid_Works.PageCount; i++){
if (iKey)
{
RadGrid_Works.Items[RadGrid_Works.Items.Count - 1].Selected = true;
}
}
}
catch { }
}
}
/// <summary>
/// insert if id = 0 or update if id!=0
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOK_Click(object sender, EventArgs e)
{
if (WF_Code == 0)
{
WorkController.InsertObj(GetObjectData());
iKey = true;
}
else
{
WorkController.UpdateObj(GetObjectData());
iKey = false;
}
ClearForm();
WF_Code = 0;
BindData();
}
private void ClearForm()
{
WF_Code = 0;
txtWF_TittleName.Focus();
txtWF_TittleName.Text = "";
txtWF_Quote.Text = "";
txtWF_Quote.Text = "";
RdpCreateDate.SelectedDate = DateTime.Today;
RdpEndDate.SelectedDate = DateTime.Today;
RdpStartDate.SelectedDate = DateTime.Today;
txtRadLevelCode.SelectedIndex = 0;
txtRadTypeCode.SelectedIndex = 0;
}
private void LoadCombo()
{
txtRadTypeCode.DataSource = WF_Type_Controller.Gets();
txtRadTypeCode.DataBind();
txtRadLevelCode.DataSource = LevelController.Gets();
txtRadLevelCode.DataBind();
}
private WF_WorksInfo GetObjectData()
{
WF_WorksInfo objWorks = new WF_WorksInfo();
if(WF_Code != 0)
{
objWorks.WF_Code = WF_Code;
}
else{
objWorks.WF_Code = CommonSQL.GetLatestID("tbl_WF_WORKS","WF_Code")+1;
}
objWorks.WF_TitleName = CommonLib.PreventSQLInjection(txtWF_TittleName.Text.ToString());
if (RdpCreateDate.SelectedDate != null)
objWorks.WF_CreateDate = Convert.ToDateTime(RdpCreateDate.SelectedDate);
else
objWorks.WF_CreateDate = DateTime.Today;
if (RdpStartDate.SelectedDate != null)
objWorks.WF_StartDate = Convert.ToDateTime(RdpStartDate.SelectedDate);
else
objWorks.WF_StartDate = DateTime.Today;
if (RdpEndDate.SelectedDate != null)
objWorks.WF_EndDate = Convert.ToDateTime(RdpEndDate.SelectedDate);
else
objWorks.WF_EndDate = DateTime.Today;
objWorks.WF_Quote = CommonLib.PreventSQLInjection(txtWF_Quote.Text.ToString());
if (txtRadLevelCode.SelectedValue != "")
objWorks.LEVEL_Code = Convert.ToDecimal(txtRadLevelCode.SelectedValue);
if (txtRadTypeCode.SelectedValue != "")
objWorks.TYPE_Code = Convert.ToDecimal(txtRadTypeCode.SelectedValue);
return objWorks;
}
protected void RadGrid_Works_ItemCommand(object source, GridCommandEventArgs e)
{
WF_WorksInfo objWork = new WF_WorksInfo();
if (e.CommandName == "RowClick" && e.Item is GridDataItem){
LastId = e.Item.ItemIndex;//LastId indexItem
e.Item.Selected = true;
WF_Code = Convert.ToDecimal(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["WF_Code"].ToString());
FillObjControl();
}
}
protected void RadGrid_Works_PageIndexChanged(object source, GridPageChangedEventArgs e)
{
RadGrid_Works.CurrentPageIndex = e.NewPageIndex;
RadGrid_Works.DataBind();
}
protected void RadGrid_Works_ItemDataBound(object sender, GridItemEventArgs e)
{
int currentPageIndex = (RadGrid_Works.Items.Count/RadGrid_Works.PageSize);
if(e.Item.ItemType != GridItemType.Header && e.Item.ItemType != GridItemType.Footer)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
string id = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["WF_Code"].ToString();
if (id == WF_Code.ToString())
e.Item.Selected = true;
try
{
for (int i = 0; i < RadGrid_Works.PageCount; i++)
{
if (iKey)
{
RadGrid_Works.Items[RadGrid_Works.Items.Count - 1].Selected = true;
}
else
if (LastId != 0)
{
RadGrid_Works.Items[LastId].Selected = true;
}
}
}
catch { }
for (int i = 0; i <= RadGrid_Works.PageCount; i++)
{
Label lbl = (Label)item.FindControl("lblStt");//accessing Label stt
if (null != lbl)
{
lbl.Text = Convert.ToString(e.Item.ItemIndex+ 1);
}
}
}
}
}
private void FillObjControl()
{
WF_WorksInfo objWork = WorkController.Get(Convert.ToDecimal(WF_Code));
if (objWork != null)
{
txtWF_TittleName.Focus();
txtWF_TittleName.Text = objWork.WF_TitleName;
txtWF_Quote.Text = objWork.WF_Quote;
RdpCreateDate.SelectedDate = objWork.WF_CreateDate;
RdpStartDate.SelectedDate = objWork.WF_StartDate;
RdpEndDate.SelectedDate = objWork.WF_EndDate;
LevelInfo objLevel = LevelController.Get(Convert.ToDecimal(Session["Level_Code"]));
if (objLevel != null)
{
DataTable dtLevel;
txtRadLevelCode.SelectedValue = objWork.LEVEL_Code.ToString();
if (objLevel.Level_Name.ToString() == "")
{
dtLevel = LevelController.Gets();
txtRadLevelCode.DataTextField = "Level_Name";
txtRadLevelCode.DataValueField = "Level_Code";
}
}
WF_Type_Info objType = WF_Type_Controller.Get(Convert.ToDecimal(Session["TYPE_Code"]));
if (objType != null)
{
DataTable dtType;
txtRadTypeCode.SelectedValue = objWork.TYPE_Code.ToString();
if (objType.Type_Name.ToString() == "")
{
dtType = WF_Type_Controller.Gets();
txtRadTypeCode.DataTextField = "Type_Name";
txtRadTypeCode.DataValueField = "Type_Code";
}
}
}
}
protected void btnDel_Click(object sender, EventArgs e)
{
if (WF_Code != 0)
WorkController.DeleteIndex(WF_Code);
BindData();
}
private void FillFirstData()
{
DataTable dt = WorkController.GetTop1();
if (dt != null)
{
WF_Code = decimal.Parse(dt.Rows[0][0].ToString());
if (WF_Code != 0)
FillObjControl();
}
}
protected void btnNew_Click(object sender, EventArgs e)
{
ClearForm();
}
#endregion
}
}