想要算在datagridview中 状态这一列中“赢得”占所有数据的比率,代码小白实在不会,求大佬们帮帮忙

weixin_44909780 2020-02-11 03:17:34


状态有五种,新建,建议,验证,赢得。现在datagridview有动态的数据,想求“赢得”的数据占所有数据的比率,求具体代码指导,谢谢!
...全文
268 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2020-02-18
  • 打赏
  • 举报
回复
如果DatagridView后台绑定的是DataTable, 那么使用DataTable的Select方法就可以筛选出来个数了 sample:

//根据过滤条件进行过滤
DataRow[]   rows   = dt.Select("state = '赢得'"); 
if( dt.rows.count > 0)
float ratio = rows.count / dt.rows.count;  
weixin_44083805 2020-02-18
  • 打赏
  • 举报
回复
string s="赢得";
int sCnt=0;
int rowCnt=datagridview.rows.count;

for (int i=0;i<rowCnt;i++)
{
if(datagridview[2,i] == s)
{
sCnt+=1;
}
}

成功率 = sCnt/rowCnt*100;

weixin_44909780 2020-02-18
  • 打赏
  • 举报
回复
引用 4 楼 良朋 的回复:
可以写 在你的“查询报表”的click事件中,单要在datagridview 绑定数据之后,比如datagridview1.DataSource = dt;

                       double i = dataGridView1.Rows.Count;

            IEnumerable<DataGridViewRow> enumerableList = this.dataGridView1.Rows.Cast<DataGridViewRow>();
            List<DataGridViewRow> list = (from item in enumerableList
                                          where item.Cells[2].Value.ToString() == "赢得"
                                          select item).ToList();

            double j = list.Count;
            string rate = (j / i * 100).ToString("F2");
这个rate就是你需要显示的值,i和j定义为double是为了精确显示而不用再转换。
然后我就直接把他显示在text框里面 txt_sjcgl.Text == rate.Tostring() 这样是吗
良朋 2020-02-17
  • 打赏
  • 举报
回复
可以写 在你的“查询报表”的click事件中,单要在datagridview 绑定数据之后,比如datagridview1.DataSource = dt;


double i = dataGridView1.Rows.Count;

IEnumerable<DataGridViewRow> enumerableList = this.dataGridView1.Rows.Cast<DataGridViewRow>();
List<DataGridViewRow> list = (from item in enumerableList
where item.Cells[2].Value.ToString() == "赢得"
select item).ToList();

double j = list.Count;
string rate = (j / i * 100).ToString("F2");


这个rate就是你需要显示的值,i和j定义为double是为了精确显示而不用再转换。
weixin_44909780 2020-02-17
  • 打赏
  • 举报
回复
引用 2 楼 stami 的回复:
可以在GridView1_RowDataBound事件中获取商机的数量,或者GridView1_RowDataBound事件中遍历gridview的所有行
遍历所有的行后我的公式要怎么写呢,求指导,谢谢!
stami 2020-02-13
  • 打赏
  • 举报
回复
可以在GridView1_RowDataBound事件中获取商机的数量,或者GridView1_RowDataBound事件中遍历gridview的所有行
jimmy212 2020-02-12
  • 打赏
  • 举报
回复
简单循环计数吗? 对datagridview.Cells[i, 2]的值进行判断

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧