gridControl 中CellValueChanged,ShowingEditor,CustomDrawCell的用法


private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
int hand = e.RowHandle;
if (hand >= 0)
{
if (e.Column.FieldName == "OneV")
{
string obj =gridView1.GetRowCellValue(hand, "Obj").ToString();
if (obj == "高壓" || obj == "低壓")
{
e.Appearance.BackColor = Color.Red;
}

              }
          }

    }

private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
{
if (gridView1.GetDataRow(e.RowHandle) == null)
return;
if (e.Column.FieldName == "未完成數量" || e.Column.FieldName == "入庫未完成數量")
{
int WeiWangChengShu = this.gridView1.GetRowCellValue(e.RowHandle, "未完成數量").ToString() == "" ? 0 : int.Parse(this.gridView1.GetRowCellValue(e.RowHandle, "未完成數量").ToString());
int RukuWeiWangChengShu = this.gridView1.GetRowCellValue(e.RowHandle, "入庫未完成數量").ToString() == "" ? 0 : int.Parse(this.gridView1.GetRowCellValue(e.RowHandle, "入庫未完成數量").ToString());
if (WeiWangChengShu > 0 || RukuWeiWangChengShu > 0)
{
this.gridView1.SetRowCellValue(e.RowHandle, "進度跟進", "未完成");
}
}
}

private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
int thisIndex = this.gridView1.FocusedRowHandle;
if (thisIndex < 0)
{
return;
}
string shengChangType = this.gridView1.GetRowCellValue(thisIndex, "生產類型").ToString();
if (shengChangType != "包裝")
{
if (this.gridView1.FocusedColumn.FieldName == "未完成數量" || this.gridView1.FocusedColumn.FieldName == "入庫未完成數量")
{
e.Cancel = true;
}
}
}

private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (this.gridView1.FocusedColumn == e.Column)
{
if (e.Column == this.未完成數量 || e.Column == this.入庫未完成數量)
{
//String strUnitNum = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "未完成數量").ToString();
//String strRukuUnitNum = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "入庫未完成數量").ToString();//入庫未完成數量
int strnum = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "未完成數量").ToString()==""?0:int.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "未完成數量").ToString());
int strRukuNum = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "入庫未完成數量").ToString() == "" ? 0 :int.Parse( gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "入庫未完成數量").ToString());
//if(int.TryParse(strUnitNum,out strnum))
//{
// if (int.TryParse(strRukuUnitNum,out strRukuNum))
// {
//生產類型=‘包裝‘的時候 ;輸入的未完成數量/入庫未完成數量 不允許大於 任務數;當生產類型<>‘包裝’的時候 未完成數量/入庫未完成數量 不允許編輯
if (gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "生產類型").ToString() == "包裝")
{
int tasknum = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "任務數").ToString() == "" ? 0 : int.Parse(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "任務數").ToString());
if (strnum > tasknum || strRukuNum > tasknum)
{
gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "未完成數量", "0");
gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "入庫未完成數量", "0");
return;
}
}

                        if (strnum > 0 || strRukuNum>0)
                        {
                            gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "進度跟進", "未完成");
                        }
                        else
                        {
                            gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "進度跟進", "");
                        }
                //    }
                //}
            }
        }
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM