
狀態有五種,新建,建議,驗證,贏得。現在datagridview有動態的資料,想求“贏得”的資料占所有資料的比率,求具體代碼指導,謝謝!
uj5u.com熱心網友回復:
簡單回圈計數嗎?對datagridview.Cells[i, 2]的值進行判斷
uj5u.com熱心網友回復:
可以在GridView1_RowDataBound事件中獲取商機的數量,或者GridView1_RowDataBound事件中遍歷gridview的所有行uj5u.com熱心網友回復:
遍歷所有的行后我的公式要怎么寫呢,求指導,謝謝!
uj5u.com熱心網友回復:
可以寫 在你的“查詢報表”的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是為了精確顯示而不用再轉換。
uj5u.com熱心網友回復:
然后我就直接把他顯示在text框里面 txt_sjcgl.Text == rate.Tostring() 這樣是嗎
uj5u.com熱心網友回復:
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;
uj5u.com熱心網友回復:
如果DatagridView后臺系結的是DataTable,那么使用DataTable的Select方法就可以篩選出來個數了
sample:
//根據過濾條件進行過濾
DataRow[] rows = dt.Select("state = '贏得'");
if( dt.rows.count > 0)
float ratio = rows.count / dt.rows.count;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/69539.html
標籤:C#
上一篇:【求助】編譯原理中間代碼優化
下一篇:MahApps.Metro使用
