彩票走势图

B/S结构下用TeeChart在asp.net中画甘特图

转帖|其它|编辑:郝浩|2010-10-14 15:16:15.000|阅读 2771 次

概述:前段时间作一个显示流程的页面,画图以前是用OWC的,OWC中没有甘特图.朋友介绍我用TeeChart.这个东西,用过觉得效果蛮好的,今天就把一些有用的代码拿出来与大家一起分享。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  前段时间作一个显示流程的页面,画图以前是用OWC的,OWC中没有甘特图.朋友介绍我用TeeChart.这个东西,用过觉得效果蛮好的,今天就把一些有用的代码拿出来与大家一起分享。

  下载安装完TeeChart后,然后在工程"引用"里面添加TeeChart引用,在aspx页面设计的工具箱中添加TeeChart控件,拖放到页面中生成:

LineValue是一个textbox隐藏的,用来存连接线的信息.
画甘特图
private void BindChart()
{
Steema.TeeChart.Styles.Gantt s = (Steema.TeeChart.Styles.Gantt)WebChart1.Chart.Series[0];
s.Clear();

   string tempEntpid=ddlEntp.SelectedValue;
SqlDataAdapter da = new SqlDataAdapter("SP_ShowFlowRel",conn);
da.SelectCommand.CommandType=CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@DptID",tempEntpid);
//Response.Write("@@@@@@@@@@@@@@@@@@@@@"+dtFlow.Rows.Count+"
");
dtFlow.Clear();
da.Fill(dtFlow);

double DateIndex=0;
string linevalue="";
string  flag="";
string  flagView="";
int Index=0;
int FlagIndex=int.Parse(dtFlow.Rows[dtFlow.Rows.Count-1]["SelID"].ToString());
SerIndex= new int[dtFlow.Rows.Count];
for (int i=0;i
{
if(flag!=dtFlow.Rows[i]["SelID"].ToString())
{
flag=dtFlow.Rows[i]["SelID"].ToString();
string ShowText=dtFlow.Rows[i]["TcName"].ToString();
double Distance=double.Parse(dtFlow.Rows[i]["LimitDate"].ToString());
double ViewOrder=double.Parse(dtFlow.Rows[i]["ViewOrder"].ToString());
s.ColorEach=false;

if(flagView!=dtFlow.Rows[i]["ViewOrder"].ToString())
{
flagView=dtFlow.Rows[i]["ViewOrder"].ToString();
DateIndex=DateIndex+Distance+Distance/3.0;
//s.Add(DateIndex,DateIndex+Distance,int.Parse(flag),ShowText);
s.Add(DateIndex,DateIndex+Distance,FlagIndex,ShowText);
SerIndex[Index]=int.Parse(dtFlow.Rows[i]["FlowID"].ToString());

}
else
{
//s.Add(DateIndex,DateIndex+Distance,int.Parse(flag),ShowText);
s.Add(DateIndex,DateIndex+Distance,FlagIndex,ShowText);
SerIndex[Index]=int.Parse(dtFlow.Rows[i]["FlowID"].ToString());
}
FlagIndex--;
Index++;
}
if(dtFlow.Rows[i]["NextFlow"].ToString()!="")
{

linevalue+=dtFlow.Rows[i]["SelID"].ToString()+"@"+dtFlow.Rows[i]["NextFlow"].ToString()+",";

}
 

   }
linevalue=linevalue.Substring(0,linevalue.Length-1);
LineValue.Text=linevalue;
}
//添加事件
this.WebChart1.AfterDraw += new Steema.TeeChart.PaintChartEventHandler(this.WebChart1_AfterDraw);

//画连接线
private void Btn_cancel_Click(object sender, System.EventArgs e)
{
// BindChart();
}
private void WebChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
{
string str=LineValue.Text.Trim();
string [] Line= str.Split(',');
try
{
for(int i=0;i
{
string tempStr=Line[i];
int Start=int.Parse(tempStr.Substring(0,tempStr.IndexOf("@")));
int End=int.Parse(tempStr.Remove(0,tempStr.IndexOf("@")+1));

Steema.TeeChart.Chart c = WebChart1.Chart;
Steema.TeeChart.Styles.Gantt s = (Steema.TeeChart.Styles.Gantt)c.Series[0];
//int ValueIndex = 0;
int X1 = s.CalcXPos(Start);
int X2 = s.CalcXPosValue(s.EndValues.Value[Start]);
int Y = s.CalcYPos(Start);
int XNext = s.CalcXPos(End);
int HalfWay = X2+((XNext-X2)/2);
nbsp;int YNext = s.CalcYPos(End);
c.Graphics3D.Line(X2,Y,HalfWay,Y);
c.Graphics3D.LineTo(HalfWay,YNext);
c.Graphics3D.LineTo(XNext,YNext);
}
}
catch
{}

}

 

慧都2010促销季开幕,TeeChart for .NET 8折促销!详情咨询:400-700-1020023-66090381活动详情://capbkgr.cn/zh-CN/Products_cn/TeeChart_chinese.html


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP