stock 类
/// <summary>
/// 下载状态
/// </summary>
public enum Ds { 初始 = 0, 成功 = 1, 失败 = 2 } /// <summary>
/// 转换状态
/// </summary>
public enum Ts { 初始 = 0, 成功 = 1, 失败 = 2 } /// <summary>
/// 来源网站
/// </summary>
public enum SourceWebsite { 理想论坛, 海风股份论坛, 迈博汇金, 汗牛网, 渐飞数据, 人大经济论坛, 赢富阁, 正点财经, 讯嘉数据, 百思社区 } /// <summary>
/// 论坛表
/// </summary>
public class Stock
{
public Stock()
{
Tstatus = new Dictionary<string, Ts>(); Tstatus.Add("默认", Ts.初始); Reports = new List<Report>() { new Report { Dstatus = Ds.初始 } };
} /// <summary>
/// ID
/// </summary>
public SourceWebsite ID { get; set; } /// <summary>
/// 信息集合
/// </summary>
public List<Report> Reports { get; set; } /// <summary>
/// 转换状态集合
/// </summary>
public Dictionary<string, Ts> Tstatus { get; set; } } /// <summary>
/// 信息集合
/// </summary>
public class Report
{
/// <summary>
/// 研报标题
/// </summary>
public string Title { get; set; } /// <summary>
/// 下载网址
/// </summary>
public string Uri { get; set; } /// <summary>
/// 下载时间
/// </summary>
public DateTime DownloadTime { get; set; } /// <summary>
/// 下载状态
/// </summary>
public Ds Dstatus { get; set; } /// <summary>
/// 路径
/// </summary>
public string Path { get; set; }
}代码
private List<Stock> test()
{
List<Stock> list = new List<Stock>(); stock.ID = SourceWebsite.百思社区;
stock.Reports = new List<Report>() { new Report() { Title = "测试1", Dstatus = Ds.成功, DownloadTime = DateTime.Now, Path = "f", Uri = "www.baidu.com" } };
stock.Tstatus.Add("测试1", Ts.成功);
list.Add(stock);
return list;
}
想问下 dataGridView如何绑定,直接绑定test()方法,不行啊
效果如下我的Reports没显示出来,Tstatus也显示的集合
stock.Reports.?
stock.Tstatus.?
{
dataGridView1.DataSource = item.Reports;
}这样 的话 Reports倒是可以显示出来,我id和Tstatus要如何显示呢
我想实现 在如下图 的前后 把id 和Tstatus也显示出来
stock.Reports.Uri;
stock.Reports.DownLoadTime;
stock.Reports.DStatus;
stock.Reports.Path;
stock.Tstatus.?这就可以显示Reports的信息了。
你要把一个集合对象绑定到一个字段上,好像这样实现不了
你可以把这个集合stock.Tstatus转为string型,自己重载tostring方法
再绑定到 DataGridView
要不就用Repeater控件,里面在嵌套一个Repeater,第一个绑定 test()
第二个绑定stock.Tstatus
public class Report
{
/// <summary>
/// 研报标题
/// </summary>
public string Title { get; set; } /// <summary>
/// 下载网址
/// </summary>
public string Uri { get; set; } /// <summary>
/// 下载时间
/// </summary>
public DateTime DownloadTime { get; set; } /// <summary>
/// 下载状态
/// </summary>
public Ds Dstatus { get; set; } /// <summary>
/// 路径
/// </summary>
public string Path { get; set; } public override string ToString()
{
return string.Format("标题:{0} 链接:{1} 下载时间:{2} 下载状态:{3} 路径:{4}", Title, Uri, DownloadTime, Dstatus, Path);
}
}public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
var q = (from c in test()
select new
{
ID = c.ID,
Reports = string.Join(" ", from t in c.Reports
select t.ToString()),
Tstatus = string.Join(" ", from t in c.Tstatus
select string.Format("测试名:{0} 结果:{1}", t.Key, t.Value)),
}).ToList();
dataGridView1.DataSource = q;
} private List<Stock> test()
{
List<Stock> list = new List<Stock>(); Stock stock = new Stock();
stock.ID = SourceWebsite.百思社区;
stock.Reports = new List<Report>() {
new Report() { Title = "测试1", Dstatus = Ds.成功, DownloadTime = DateTime.Now, Path = "f", Uri = "www.baidu.com" },
new Report() { Title = "测试1", Dstatus = Ds.成功, DownloadTime = DateTime.Now, Path = "f", Uri = "www.baidu.com" }
}; stock.Tstatus.Add("测试1", Ts.成功);
stock.Tstatus.Add("测试2", Ts.失败); list.Add(stock); return list;
}
}
后续格式扩展,自己思考下