У меня есть страница ASPX (с VB Codebehind). Я хотел бы расширить класс GridView, чтобы отображать верхний / нижний колонтитулы, когда строки не возвращаются.
Я нашел пример C # онлайн ( ссылка ) ( источник ). Однако я не могу преобразовать его в VB, поскольку он использует типизированные события (которые недопустимы в VB).
Я пробовал несколько бесплатных конвертеров C # в VB.NET онлайн, но ни один из них не работал.
Пожалуйста, преобразуйте пример в VB.NET или предоставьте альтернативный метод расширения класса GridView.
Примечания / Трудности:
Если вы получили ошибку с DataView
объектами, укажите тип как System.Data.DataView
, и сравнение типов может быть следующим: If data.[GetType]() Is GetType(System.Data.DataView) Then
Поскольку событие MustAddARow не может иметь тип в VB (а RaiseEvent event
не имеет возвращаемого значения), как я могу сравнить его с Nothing
в функции OnMustAddARow()
?
EDIT:
Ниже приведен пример с (надеюсь) соответствующим кодом, который поможет ответить на вопрос.
namespace AlwaysShowHeaderFooter {
public delegate IEnumerable MustAddARowHandler(IEnumerable data);
public class GridViewAlwaysShow : GridView {
// Various member functions omitted //
protected IEnumerable OnMustAddARow(IEnumerable data) {
if (MustAddARow == null) {
throw new NullReferenceException("The datasource has no rows. You must handle the \"MustAddARow\" Event.");
}
return MustAddARow(data);
}
public event MustAddARowHandler MustAddARow;
}
}