datagrid.readonly=false时,如何将DATAGRID某一行设定为只读?

解决方案 »

  1.   

    DataGridTableStyle ts = new DataGridTableStyle();
    ts.MappingName = "tabMx";//这个地方的名字必须和DataMember一样。
    DataGrid.TableStyles.Add(ts);
    DataGrid.TableStyles[0].GridColumnStyles[列号].ReadOnly = true;
      

  2.   

    没有属性可以控制的。你可以在datatable的DataColumnChanging事件中对修改的值恢复,可以达到效果。
      

  3.   

    谁能否重写一个datagrid控件让它能够设置某行为只读,另加分。
      

  4.   

    //代码复制过去就可以用
    private string ConnectionString()
    {
      return "server=localhost;database=northwind;user id=sa;password=;";
    } private string strSQL="SELECT * FROM PRODUCTS"; private SqlConnection sqlcon;
    private SqlDataAdapter sqlapter;
            private DataSet DSet=new DataSet(); private void InitDGRidEdit()
    {
               
       sqlcon=new SqlConnection(ConnectionString());
       sqlcon.Open();
      
       sqlapter=new SqlDataAdapter(strSQL,sqlcon);
       
    sqlapter.Fill(DSet,"products");
       //***帮定数据
       Grid.DataSource=DSet.Tables[0];
       
    //***声明一个映射表
    DataGridTableStyle DGRidTable=new DataGridTableStyle();     DGRidTable.MappingName="products";     DataGridTextBoxColumn  tb1=new DataGridTextBoxColumn();
        tb1.MappingName="productid";//要帮定的数据
        tb1.ReadOnly=true;//****表示该行不能进行编辑
    tb1.HeaderText="ProductID"; DataGridTextBoxColumn tb2=new DataGridTextBoxColumn();
    tb2.MappingName="productname";
    tb2.HeaderText="ProductName";

    //***邦定映射表数据
    DGRidTable.GridColumnStyles.Add(tb1);
    DGRidTable.GridColumnStyles.Add(tb2); Grid.TableStyles.Add(DGRidTable); //****释放系统资源
    sqlcon.Close();
    sqlcon.Dispose();
    sqlapter.Dispose();
    }
      

  5.   

    tb1.ReadOnly=true;//****表示该行不能进行编辑这个是设置列不能编辑。