Я сейчас настраивающих GridView, где каждый результат поля в одной таблице, нужно будет, чтобы стать HeaderРезультаты полевых как заголовки в cgridview
Unfortunatly Я не могу показаться, чтобы найти способ, который установит значения быть заголовок, а также позволяет значение в другой таблице
Например, мне нужно, чтобы каждый результат в поле имени будет заголовок моей cgridview
Тогда каждый результат, который связывает вплоть до заголовок для значения, также отображаемого как значение для этого заголовка
Я думаю, что как-то я хотел бы добавить результаты в DataProvider, петлю вокруг DataProvider для результатов, чтобы заполнить столбцы и использовать эту функцию в качестве результата для GridView, но разрывы страниц, если я не строго определить столбцы
проблема у меня в том, что колонна продолжает отображать как HEADER1, а не данные, а данные просто данные я потянув
public function exportSearch($event_id){
$query = "SELECT
u.prefix AS 'Title',
u.forename AS 'Forename',
u.surname AS 'Surname',
u.telephone AS 'Mobile Number',
u.email AS 'Email Address',
ea.checkin_status_id AS 'checked in',
u.update_time AS 'Register Date',
eg.name AS 'Event Group Registered',
e.name AS 'Session Registered',
u.bio AS 'User Information',
u.dob AS 'Date of Birth',
u.company AS 'Company',
u.company_role AS 'Company Role',
CONCAT(u2.forename, ' ', u2.surname) AS 'Guest of',
MAX(CASE WHEN uv.user_type_variables_id = 1 THEN uv.name ELSE NULL END) AS Header1,
MAX(CASE WHEN uv.user_type_variables_id = 1 THEN uv.value ELSE NULL END) AS Question1,
MAX(CASE WHEN uv.user_type_variables_id = 2 THEN uv.value ELSE NULL END) AS Question2,
MAX(CASE WHEN uv.user_type_variables_id = 3 THEN uv.value ELSE NULL END) AS Question3,
MAX(CASE WHEN uv.user_type_variables_id = 4 THEN uv.value ELSE NULL END) AS Question4,
MAX(CASE WHEN uv.user_type_variables_id = 5 THEN uv.value ELSE NULL END) AS Question5,
MAX(CASE WHEN uv.user_type_variables_id = 6 THEN uv.value ELSE NULL END) AS Question6
FROM tbl_event_attendees AS ea
LEFT JOIN tbl_user AS u ON ea.user_id = u.id
LEFT JOIN tbl_event AS e ON ea.event_id = e.id
LEFT JOIN tbl_event_groups AS eg on e.group_id = eg.id
LEFT JOIN tbl_user AS u2 ON ea.guest_of_user_id = u2.id
LEFT JOIN tbl_user_variables AS uv on u.id = uv.user_id
WHERE ea.event_id = {$event_id}
GROUP BY ea.id";
$count=Yii::app()->db->createCommand($query)->queryScalar();
return $sqlDataprovider = new CSqlDataProvider($query, array(
'totalItemCount'=>$count,
'sort'=>array(
'attributes'=>array(
)
),
'pagination'=>array(
'pageSize'=>$count, //Show all records
),
));
}
и мое мнение
array(
'header' => $data['Header1'],
'name' => 'Header1',
'type' => 'raw',
'value' => $data['Question6'],
),
и результат просто вводит то, что я хочу, в качестве заголовка в значение, и идентификатор AS в качестве заголовка.
Я не уверен, если это работает. Как я хватаю его из запроса select, я вводил его так. Я добавил свой запрос на поставленный выше вопрос массив ( 'заголовок' => $ данных [ 'HEADER1'], 'имя' => 'Header1', 'тип' => 'сырой', «значение '=> $ data [' Question6 '], ), – DevAL
Я добавил пример, надеюсь, полезен – scaisEdge
Привет. Я попытался $ data ['Header1'], но он возвращает его только как Question6, любые идеи? – DevAL