当前位置:编程学习 > C#/ASP.NET >>

如何根据cell不同的内容确定ColumnType?

请问各位高手,如何将一列,根据数据不同的属性确定ColumnType的DataGridViewTextBoxColumn编辑或DataGridViewDatetimepickerColumn?

比如某些内容是日期就提供DataGridViewDatetimepickerColumn让其选择,不是则DataGridViewTextBoxColumn。 --------------------编程问答-------------------- 如果设置自动生成列是可以自动的来设置的.

如果不是自动生成列,那么手动选择也很容易 --------------------编程问答-------------------- 指某一列根据每行在该列取值不同,ColumnType变化? --------------------编程问答-------------------- 頂一個,我不知道。
樓主是不是類似下面的意思?

查詢條件     運算符     值          邏輯符號
入庫日期       =       (日期列)        and
是否審核       =      (Checkbox列)   and

--------------------编程问答--------------------      DataGridViewDateTimeEditingControl DTCel = new DataGridViewDateTimeEditingControl();//日歷行
     ComboBox cmBox = new ComboBox();//bool行       

      //日期列彈出日歷,Bool行彈出下拉框
        private void dgvQuery_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (IsLoad)
            {
                System.Drawing.Rectangle R = dgvQuery.GetCellDisplayRectangle(dgvQuery.CurrentCell.ColumnIndex, dgvQuery.CurrentCell.RowIndex, false);  //获取单元格位置

                DTCel.Visible = false;
                cmBox.Visible = false;

                if (dgvQuery.Columns[e.ColumnIndex].Name == "FieldValue1" || dgvQuery.Columns[e.ColumnIndex].Name == "FieldValue2")
                {
                    //如果該行的字符類型為日期,且單擊的是欄位1或者欄位2
                  
                    if (dgvQuery["FileType", e.RowIndex].Value.ToString() == "D")
                    {
                        dgvQuery.CurrentCell.DataGridView.Controls.Add(DTCel);

                        DTCel.SetBounds(R.X, R.Y, R.Width, R.Height); //重新定位日歷            

                        DTCel.Visible = true;

                    }

                    //如果該行的字符類型為Bool,且單擊的是欄位1或者欄位2                 

                    if (dgvQuery["FileType", e.RowIndex].Value.ToString() == "B")
                    {
                        dgvQuery.CurrentCell.DataGridView.Controls.Add(cmBox);

                        cmBox.SetBounds(R.X, R.Y, R.Width, R.Height); //重新定位下拉框           

                        cmBox.Visible = true;

                    }
                }
            }
        }
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,