日期:2014-05-17  浏览次数:20822 次

C#windowsform开发中遇到了问题。


如图,我现在输入了库令以后,网页显示的是一个为空颜色就会变。但如果数据很多的时候,我不想一页一页的往下翻。有没有老师叫一下,比如点击红色的话,只显示红色的内容。
并且颜色不会变!
我用的datagridview控件。
具体的源码:
        private void dgvPrdt_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
        {
            if (e.RowIndex >= dgvPrdt.Rows.Count) return;
            DataGridViewRow dr = dgvPrdt.Rows[e.RowIndex];
            if (string.IsNullOrEmpty(Convert.ToString(dr.Cells["QTY"].Value)))
            {
                dr.DefaultCellStyle.BackColor = Color.Yellow;
            }
            else if (string.IsNullOrEmpty(Convert.ToString(dr.Cells["QTY2"].Value)))
            {
                dr.DefaultCellStyle.BackColor = Color.Red;
            }
        }

------解决方案--------------------
就是把颜色也当作一个查询条件啊
------解决方案--------------------
引用:
就是把颜色也当作一个查询条件啊


既然能让他变红,那么根据这个变红的条件去查询呗
------解决方案--------------------
最简单的办法就是新建两个DataTable,分别将红色显示的数据和黄色显示的数据放进去,点击哪个颜色就重新绑定DataGridView的DataSource就可以了。
------解决方案--------------------
用DataGridView的行改变事件,验证行的颜色,如果等于红,就将行中的信息显示到表头