1

是否可以在 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 个空行,然后绑定数据集中的每一行。我希望我很清楚!

先感谢您!!

4

1 回答 1

0

我不会回答您最初提出的问题(“是否可以在 c# asp.net 中更改 dll 文件的访问修饰符”),而是您问题的根源(向您的 GridView 添加空行)。

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

  1. 从数据库中获取数据
  2. 使用逻辑检查有多少行
  3. 如果少于 4 个项目,则将额外(空)项目/行添加到从步骤 1 中存储数据的集合中。
  4. 将 GridView.DataSource 设置为该数据集合
  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();
于 2013-05-09T19:30:30.023 回答