这是我的QDataGrid
$this->content = new QDataGrid($this, 'Dashboard');
$this->dtgContent->UseAjax = true;
$this->dtgContent->ShowFilter = true;
$this->dtgContent->RowActionParameterHtml = '<?= $_ITEM->FileNum ?>';
$this->dtgContent->SetDataBinder('BindDataGrid_Content', $this);
$this->dtgContent->Paginator = new QPaginator($this->dtgContent);
$this->dtgContent->ItemsPerPage = 15;
$this->dtgContent->SortColumnIndex = 5;
$this->dtgContent->SortDirection = true;
然后我创建2个QDataGridColumns
$col = new QDataGridColumn('First', '<?= $_CONTROL->ParentControl->renderFirst($_ITEM) ?>');
$col->HtmlEntities = false;
$col->OrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin);
$col->ReverseOrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin, false);
$col->Filter = QQ::Like(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin, null);
$col->FilterType = QFilterType::TextFilter;
$col->FilterPrefix = $col->FilterPostfix = '%';
$col->Width = 170;
$this->dtgContent->AddColumn($col);
$col = new QDataGridColumn('Year', '<?= $_ITEM->CfgfilevehicleAsFileNum->VehicleIdObject->Year ?>');
$col->FilterType = QFilterType::TextFilter;
$col->Filter = QQ::Like(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Year, null);
$col->FilterPostfix = $col->FilterPrefix = '%';
$col->OrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Year);
$col->ReverseOrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Year, false);
$col->Width = 50;
$this->dtgContent->AddColumn($col);
在刷新页面时,如何将光标自动聚焦到&#39; First&#39;的文本框中。
答案 0 :(得分:0)
<script>
$( "#target" ).focus();
</script>
答案 1 :(得分:0)
在QCubed中,QForm类的Form_Create方法在页面刷新期间执行。 (Form_Run在刷新和ajax调用上执行。)
看起来您正在使用QCubed的旧版v2,因此您可以在定义数据网格和列后在Form_Create函数中执行此操作:
$filterId = 'ctl' . $this->dtgContent->ControlId . 'flt0';
$this->GetControl($filterId)->Focus();
$ filterId应该是First字段的javascript id。通过查看html进行双重检查。 $ this是表单对象。
答案 2 :(得分:0)
可以这样轻松完成,
只需将名称col
更改为col1
$col1 = new QDataGridColumn('First', '<?= $_CONTROL->ParentControl->renderFirst($_ITEM) ?>');
$col1->HtmlEntities = false;
$col1->OrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin);
$col1->ReverseOrderByClause = QQ::OrderBy(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin, false);
$col1->Filter = QQ::Like(QQN::Appfile()->CfgfilevehicleAsFileNum->VehicleIdObject->Vin, null);
$col1->FilterType = QFilterType::TextFilter;
$col1->FilterPrefix = $col->FilterPostfix = '%';
$col1->Width = 170;
$this->dtgContent->AddColumn($col1);
然后,
$ctrFilter = $this->dtgContent->GetFilterControl($col1);
$ctrFilter->Focus();