更改GridView的CreateRow方法的访问修饰符

时间:2013-05-09 19:07:23

标签: c# asp.net

是否可以在c#asp.net中更改dll文件的访问修饰符。

例如,我试图在C#asp.net中使用GridView的CreateRow,我得到的错误是

“System.Web.UI.WebControls.GridView.CreateRow(int,int,System.Web.UI.WebControls.DataControlRowType,System.Web.UI.WebControls.DataControlRowState) 由于其保护级别“无法访问”

我检查了修饰符,它受到保护。当我试图改变时,它说只读,不能改变。有可能吗?

更新:我试图从数据库中获取数据集并尝试将其绑定到gridview。数据集最多可包含4行。如果它有任何小于4的行,则剩余的行应在gridview中显示为空。所以我试图使用CreateRow方法创建4个空行,然后绑定数据集中的每一行。我希望我很清楚!

提前谢谢!!

1 个答案:

答案 0 :(得分:0)

我不打算按照要求解答原始问题(“是否可以在c#asp.net中更改dll文件的访问修饰符”),但问题的根源(将空行添加到GridView中)。

我认为更好的方法(而不是尝试在GridView上调用CreateRow)只是将空行添加到数据集中,然后将其绑定到GridView。根据您存储数据的具体数据类型,这会有所不同,但基本步骤如下:

  1. 从数据库中获取数据
  2. 使用逻辑来检查有多少行
  3. 如果项目少于4个,请将addaly(空)项目/行添加到步骤1中存储数据的集合中。
  4. 将GridView.DataSource设置为该数据集合
  5. 调用GridView.DataBind();
  6. 要详细说明第3步,请执行以下操作:

    // Get your DataSet from the database
    DataSet data = getMyDataSomeHow();
    // Create a blank row
    object[] newRow = new object[3]; // where "3" is the number of columns in your table
    newRow[0] = "";
    newRow[1] = "";
    newRow[2] = "";
    //Add the blank row
    data.Tables["myTable"].BeginLoadData();
    data.Tables["myTable"].LoadDataRow(newRow, true);
    data.Tables["myTable"].EndLoadData();