gpt4 book ai didi

c#devexpress图表如何获取数据

转载 作者:行者123 更新时间:2023-11-30 23:29:32 24 4
gpt4 key购买 nike

我想用代码填充数据库中的图表。(请不要建议我选择图表并单击添加数据源)我已经尝试了一些代码。但我无法收到任何值和任何数据。这是代码;

public DataTable Rating() {
SqlConnection conn = new SqlConnection("Data Source=MEVLUT\\SQLEXPRESS;Initial Catalog=Chart;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("Select * from ChannelRatings", conn);
DataTable ds = new DataTable();
conn.Open();
da.Fill(ds);
return ds;
}
private void frmMain_Load(object sender, EventArgs e) {
ChartControl ch = chartcontrolRatings;
Series series = new Series("Ratings",ViewType.Bar);
ch.Series.Add(series);
series.DataSource = Rating();
this.Controls.Add(ch);
}

2 列 ChannelName 和 RatingValue 并且它们具有值。

最佳答案

首先想到的是ExecuteReader没有执行。我将发布一些示例

SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 600;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * from ChannelRatings";
cmd.Connection = dbConnection;
SqlDataReader dr= null;
using (dr= cmd.ExecuteReader())
{
DataTable dtData = new DataTable(storedProcedureName);
//First create Columns for new DataTable
object[] values = new object[dr.FieldCount];
Type[] columnTypes = new Type[dr.FieldCount];
for (int i = 0; i < dr.FieldCount; i++)
{
Type columnType = dr.GetFieldType(i);
string columnName = dr.GetName(i);
if (columnType != null)
{
dtData.Columns.Add(columnName, columnType);
columnTypes[i] = columnType;
}
}
t1 = DateTime.Now.Subtract(d1);
while (dr.Read())
{//Fill DataTable by reading values by type...
int columnsRead = dr.GetValues(values);
DataRow newRow = dtData.NewRow();
for (int i = 0; i < dtData.Columns.Count; i++)
{
if (columnTypes[i].Name == "Int32") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt32(values[i]) : Base.BussinesLayer.Utils.Int32NullValue;
else if (columnTypes[i].Name == "Int16") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt16(values[i]) : Base.BussinesLayer.Utils.Int16NullValue;
else if (columnTypes[i].Name == "String") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToString(values[i]) : Base.BussinesLayer.Utils.StringNullValue;
else if (columnTypes[i].Name == "Decimal") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToDecimal(values[i]) : Base.BussinesLayer.Utils.DecimalNullValue;
else if (columnTypes[i].Name == "DateTime") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToDateTime(values[i]) : Base.BussinesLayer.Utils.DateTimeNullValue;
else if (columnTypes[i].Name == "TimeSpan") newRow[i] = values[i] != null && values[i] != DBNull.Value ? EvotechUtils.ConvertToTimeSpan(values[i]) : Base.BussinesLayer.Utils.DateTimeNullValue.TimeOfDay;
else if (columnTypes[i].Name == "Int64") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt64(values[i]) : Base.BussinesLayer.Utils.Int64NullValue;
else if (columnTypes[i].Name == "Float") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt64(values[i]) : Base.BussinesLayer.Utils.FloatNullValue;
else if (columnTypes[i].Name == "Double") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt64(values[i]) : Base.BussinesLayer.Utils.DoubleNullValue;
else if (columnTypes[i].Name == "Byte") newRow[i] = values[i] != null && values[i] != DBNull.Value ? Convert.ToInt64(values[i]) : Base.BussinesLayer.Utils.ByteNullValue;
else newRow[i] = DBNull.Value;
}
dtData.Rows.Add(newRow);
}
dr.Close();
}

图表示例:

        chcGraph.BeginInit();
chcGraph.BackColor = System.Drawing.Color.Transparent;
chcGraph.Series.Add("GraphSeriesMain", ViewType.Pie);
chcGraph.Series.Swap(chcGraph.Series[0], chcGraph.Series["GraphSeriesMain"]);
chcGraph.Series["GraphSeriesMain"].DataSource = dataTableData;
chcGraph.Series["GraphSeriesMain"].ArgumentDataMember = "ChannelName";
chcGraph.Series["GraphSeriesMain"].ArgumentScaleType = ScaleType.Qualitative;
chcGraph.Series["GraphSeriesMain"].ValueDataMembers.AddRange(new string[] { "RatingValue" });
chcGraph.EndInit();
chcGraph.Refresh();

关于c#devexpress图表如何获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35362057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com