public function init()
{
parent::init();
$dp = static::slash(BaseDataProvider::className());
if (empty($this->dataProvider) || !$this->dataProvider instanceof BaseDataProvider) {
throw new InvalidConfigException("The 'dataProvider' property must be set and must be an instance of '{$dp}'.");
}
$kvGrid = static::slash(GridView::classname());
if (empty($this->gridClass)) {
$this->gridClass = $kvGrid;
} elseif ($this->gridClass !== $kvGrid && !is_subclass_of($this->gridClass, $kvGrid)) {
throw new InvalidConfigException("The 'gridClass' must be a class which extends from '{$kvGrid}'.");
}
$this->initOptions();
$this->registerAssets();
}