dataGridView 中的值在绑定出来后能在 页面显示前 修改 要列 的值 啊?
   dataGridView1的列 审核 绑定到 表 的check列的
当check值是 1 时 在dataGridView显示审核,
                    0 显示未审核 。
   

解决方案 »

  1.   

    哦 是通过dataGridView1.VirtualMode = true;
                dataGridView1.Columns.Insert(0, new DataGridViewCheckBoxColumn());添加的checkBox啊我用
    (bool)dataGridView1.Rows[e.RowIndex].Cells[0].Value
    可以取得checkbox的值啊 
    我在自己机器上测试可以的如果需要 我可以给你源程序 你加我MSN把 [email protected]
      

  2.   

    多谢,我问的不太清楚 。重写一次:dataGridView 中的值在绑定出来后,能在显示前 修改列 的值码?
       dataGridView1的列"审核" 绑定到 表"user" 的"userState"列
       当表里面"userState"值是 1 时 在dataGridView的"审核"列显示"审核",不显示表里的"1",
                               0 显示"未审核",不显示表里的值"0" 。
      

  3.   

    应该可以的  在dataGridView有个CellFormatting事件  你在里面处理就是 
    这个是在显示dataGridView前的单元格式化的时候发生的 要知道这个关于事件更多的 
    你去查下帮助 比我说的好  
    前面那个回复是你上个帖子的 我回的时候你已经结贴了 
    其实用你自己添加的CHECKBOX是可以访问到它的值的  可能你的代码那里出了错
      

  4.   

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                //if (dataGridView1.Rows[0].Cells["Column7"].Value.ToString() == "1")
                  //用它提示:未将对象引用设置到对象的实例。
                if(ds.Tables[0].Rows[0]["UserState"].ToString()=="1")
                //用它无法找到表0
                ds
                {
                    MessageBox.Show("ddf");
                }
            }
    判断那个?
      

  5.   

    我那里这样写的 是不是那里不对?
      namespace admin
    {
        public partial class text : Form
        {
            public text()
            {
                InitializeComponent();
            }        private void text_Load(object sender, EventArgs e)
            {
                ShowBind();
            }
            public void ShowBind()
            {
                
                DataSet ds = new DataSet();
                dataGridView1.AutoGenerateColumns = false;
                dataGridView1.AllowUserToAddRows = false;            ds = SqlBase.Getds("select *from db_user");
                dataGridView1.DataSource = ds;
                if (ds.Tables[0].Rows.Count > 0)
                {
                    dataGridView1.DataMember = ds.Tables[0].TableName;
                   
                }
                else 
                {
                    MessageBox.Show("没有相关数据!");
                }
           }        private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                if (dataGridView1.Rows[0].Cells["Column2"].Value.ToString() == "1")
                //用它提示:未将对象引用设置到对象的实例。
                //if(ds.Tables[0].Rows[0]["UserState"].ToString()=="1")
                //用它无法找到表0
                {
                    MessageBox.Show("ddf");
                }
            }
        }
    }
      

  6.   

    if (dataGridView1.Rows[0].Cells["Column2"].Value.ToString() == "1")改成
     if (e.ColumnIndex == this.dataGridView1.Columns["你要判断的列"].Index)
    {
    if (dataGridView1.Rows[e.RowIndex].Cells["你要判断的列"].Value.ToString() == "1")
    {
    //处理
    }
    }
    这样好点  如果还出错你试下重新建个工程 
    另外 我以前Cells[""]里面用的中文列名,也出过 未将对象引用设置到对象的实例 的错,
    可能是对中文支持不是很好
    要是用列名不行的话 直接用列的Index 比如第1列用0;
    要是还有错,,,,我就不知道了 
    我也是新手