2013-05-09 3 views
1

Можно ли изменить модификатор доступа в C# asp.net для файла dll.Изменение модификатора доступа метода CreateRow для GridView

Например, я пытаюсь использовать CreateRow из GridView в C# asp.net и ошибка я получаю

«System.Web.UI.WebControls.GridView.CreateRow (INT, INT, System.Web .UI.WebControls.DataControlRowType, System.Web.UI.WebControls.DataControlRowState) недоступен из-за его уровня защиты»

Я проверил модификатор и он защищен. Когда я попытался изменить, он говорит «readonly» и не может быть изменен. Является ли это возможным?

UPDATE: Я пытаюсь получить набор данных из базы данных и пытаюсь привязать его к gridview. Набор данных может содержать до 4 строк. Если у него есть строки меньше 4, оставшиеся строки должны быть пустыми в gridview. Поэтому я пытаюсь создать 4 пустых строки с использованием метода CreateRow, а затем привязать каждую строку из набора данных. Надеюсь, я поняла!

Благодарим вас заранее!

+0

Может быть, вы должны объяснить, что именно вы пытаетесь сделать. Есть более эффективные способы для добавления строки в GridView. – jadarnel27

+0

Я немного обновлю вопрос – Ram

+0

@ jadarnel27 Я обновил вопрос тем, что я пытаюсь сделать. Спасибо!! – Ram

ответ

0

Я не собираюсь отвечать на ваш первоначальный вопрос как заданный («Возможно ли изменить модификатор доступа в C# asp.net для DLL-файла»), но корень вашего вопроса (добавление пустых строк к вашему GridView).

Я думаю, что лучший подход (вместо того, чтобы пытаться вызвать CreateRow в GridView) состоит в том, чтобы просто добавить пустые строки в ваш набор данных, а затем привязать его к вашему 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(); 
+0

Позвольте мне попробовать! Спасибо! – Ram

+0

Не могли бы вы продумать шаг 3 немного, пожалуйста! – Ram

+0

@Ram Конечно. Что вы в настоящее время сохраняете данные, которые вы извлекаете из базы данных прямо сейчас? – jadarnel27

Смежные вопросы