2013-05-09 38 views
1

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

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

“System.Web.UI.WebControls.GridView.CreateRow(INT,INT,System.Web程序.UI.WebControls.DataControlRowType,System.Web.UI.WebControls.DataControlRowState) 由于其保护级别“

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

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

预先感谢您!

+0

也许你应该解释一下它是什么你想要做的事。有更好的方法可以完成向GridView添加行。 – jadarnel27 2013-05-09 19:09:45

+0

我会稍微更新这个问题 – Ram 2013-05-09 19:13:29

+0

@ jadarnel27我更新了我正在尝试做的事情。谢谢!! – Ram 2013-05-09 19:16:49

回答

0

我不会根据问你的原始问题(“是否可以在c#asp.net中为dll文件更改访问修饰符”),但问题的根源(添加空行到你的GridView)。

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

  1. 从数据库中获取数据
  2. 使用的逻辑来判断有多少行是
  3. 如果有少于4项,增加additionaly(空)项目/列到你的数据从步骤中存储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(); 
+0

让我试试看!谢谢! – Ram 2013-05-09 19:48:48

+0

请您详细说明步骤3,请! – Ram 2013-05-09 19:54:15

+0

@Ram当然。你现在正在存储从数据库中检索到的数据? – jadarnel27 2013-05-09 19:57:57