DataGridColumnStyle.ReadOnly 属性
获取或设置一个值,该值指示该列中的数据是否可以编辑。[C#] 
private void SetReadOnly()
{
    DataColumnCollection myDataColumns;
    // Get the columns for a table bound to a DataGrid.
    myDataColumns = dataSet1.Tables["Suppliers"].Columns;
    foreach(DataColumn dataColumn in myDataColumns)
    {
        dataGrid1.TableStyles[0].GridColumnStyles[dataColumn.ColumnName].ReadOnly = dataColumn.ReadOnly;
    }
}

解决方案 »

  1.   

    谢谢还有谁了解Excel的?因为我必须两种方案综合考虑,数据量大,而且修改量也很大,如果能做成Excel的模板功能,其中Excel的计算统计功能可以由用户自己调整,肯定是更好的
      

  2.   

    我用excel的方法很传统.就是在Excel摸版里一个一个插如你想得到的数据.
    就是工作量大点!
      

  3.   

    能否把Excel嵌入进来?如何锁定Excel的某些列?愿闻其详谢谢
      

  4.   

    如何锁定Excel的某些列?怕是不行
      

  5.   

    使用DataGrid应该可以满足你的要求,可以为某列设置公式让其自动计算。
      

  6.   

    锁定Excel的某几列是完全可能的。而且,可以把Excel里面的所有东西全改为自己的。
    只是其中的工作量比较大点。如果有相关的问题。请直接留言。
      

  7.   

    使用了  wangsaokui(无间道III(终极无间)) 的DataGrid的方法,却总是错误,即使是直接写上那个index,也还是出错
    总是显示如下的错误,不知道为什么
    "索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index"
      

  8.   

    先定义Datagrid的DataGridTableStyle 此时所有的操作针对DataGridTableStyle即可
     DataGrid1.TableStyles.Item(0).GridColumnStyles(7).ReadOnly = True/False 即可控制是否可修改。
      

  9.   

    建立好一个excel表格,编码打开该文件把数据填进去
      

  10.   

    直接用:
    dataGrid1.TableStyles[0].GridColumnStyles[dataColumn.ColumnName].ReadOnly =true/false
      

  11.   

    这里都是直接写第几列,据我跟踪,发觉dataGrid1.TableStyles[0]根本没有东西,是否需要先设置TableStyles,然后才可以,上午办事去了,昨晚想到了这个,为了写一个简单的测试代码,还特意不用以前写的DataGrid刷新代码strSQL = "SELECT Employee, EmployeeCode, EmployeeName, Sex, Birthday FROM AT_Public_Employee";DS = SW.SelectDataSet(strSQL);
    this.dataGrid1.DataSource = DS.Tables[0].DefaultView;dataGrid1.TableStyles[0].GridColumnStyles[2].ReadOnly = true;
    //System.Data.DataColumnCollection myDataColumns;
    //// Get the columns for a table bound to a DataGrid.
    //myDataColumns = DS.Tables[0].Columns;
    //
    //foreach(System.Data.DataColumn dataColumn in myDataColumns)
    //{
    // if (dataColumn.ColumnName == "EmployeeName")
    // {
    // strColumnName = dataColumn.ColumnName;
    // //dataGrid1.TableStyles[0].GridColumnStyles[strColumnName].ReadOnly = dataColumn.ReadOnly;
    // dataGrid1.TableStyles[0].GridColumnStyles[2].ReadOnly = true;
    // }
    //}
      

  12.   

    通过设置GridColumnStyles,可以满足需求了
    请问是否能嵌入Excel?在VC4.0的时候我好像用过
      

  13.   

    http://www.21tx.com/school/dotnet/csharp/37WR8YU2ZZUR1NJCHS.shtml
      

  14.   

    http://www.xfok.com/Disp.Aspx?ID=12562&ClassID=49
      

  15.   

    看看对你有用不
    http://www.21tx.com/school/dotnet/csharp/37WR8YU2ZZUR1NJCHS.shtml