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

本文关键字:访问 方法 GridView CreateRow 修改 | 更新日期: 2023-09-27 18:13:06

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

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

" System.Web.UI.WebControls.GridView。create (int, int, System.Web.UI.WebControls)DataControlRowType System.Web.UI.WebControls.DataControlRowState)由于其保护级别"

而无法访问

我检查了修饰符,它是保护的。当我尝试更改时,它显示只读并且无法更改。这可能吗?

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

提前感谢!!

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

我不打算回答你原来的问题("是否有可能改变访问修饰符在c# asp.net的一个dll文件"),但你的问题的根源(添加空行到GridView)。

我认为更好的方法(而不是试图调用CreateRow上的GridView)是只是添加空行到你的数据集,然后绑定到你的GridView。这将根据存储数据的特定数据类型而有所不同,但基本步骤将是:

  1. 从数据库获取数据
  2. 使用逻辑检查有多少行
  3. 如果条目少于4个,请在步骤1中存储数据的集合中添加额外的(空)条目/行。
  4. 设置显示数据表格。数据源到该数据集合
  5. 调用GridView.DataBind ();

要详细说明步骤#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();