在Yii中,CGridView在行中有自己的背景颜色.但我想要做的是根据列之一的值突出显示特定行.
对于Instance,我有三列,id,name,status.现在,如果状态的值为Inactive或0,我应该用一些颜色突出显示该行.
我简要阅读了课程参考资料并搜索了这个网站.但找不到相关的解决方案.如果某些示例或某个方向朝向正确的解决方案,那将非常感激.
谢谢,Ujjwal
我有一个简单的表来维护用户之间的消息.表结构看起来像
sender receiver message sendtime
1 2 m1 2012-01-01 12:12:12
2 1 m2 2012-01-01 12:50:20
1 2 m3 2012-01-01 12:55:55
1 3 m4 2012-01-02 05:05:05
1 4 m5 2012-01-05 05:20:20
4 1 m6 2012-01-06 06:05:00
4 1 m7 2012-01-07 11:11:11
2 4 m8 2012-01-08 05:01:01
Run Code Online (Sandbox Code Playgroud)
现在,对于ID为1的用户,我需要这样的结果
sender receiver message sendtime
1 2 m3 2012-01-01 12:55:55
1 3 m4 2012-01-02 05:05:05
4 1 m7 2012-01-07 11:11:11
Run Code Online (Sandbox Code Playgroud)
这就是我需要特定用户的最新消息,无论他是发送者还是接收者.
虽然看起来很简单,但我找不到编写单个mysql查询的方法.
另外,我想建议如果对于这种解决方案,我的桌面设计很差.
注意:我认为应该提到的一件事是,例如用户1和用户2之间存在多个通信.我需要它们之间的最新通信,无论用户1是发送者还是接收者,只需要最近的.
大多数用户建议查询,这将带来一个记录与发送者1,接收者2,然后发送者2,接收者1.我不需要这两个记录,因为这是同一用户1和用户2之间的通信.我需要一个是为每个其他用户指定的用户的最新一个.
谢谢,
我的控制器
$criteria = new CDbCriteria();
$criteria -> select = 't.*,b.*';
$criteria -> join = 'INNER JOIN tbl_b b on b.b_id = t.id ';
$criteria -> join .= 'INNER JOIN tbl_c c on c.id = b.c_id';
$criteria -> condition = 'c.id = :cid';
$criteria -> params = array(':cid' => 1);
$dataProvider = new CActiveDataProvider('tbl_a',array(
'criteria' => $criteria
));
$this->render('view',array('dataProvider' => $dataProvider));
Run Code Online (Sandbox Code Playgroud)
我的看法
$this->widget('zii.widgets.grid.CGridView', array(
'id' => 'my-grid',
'dataProvider' => $dataProvider,
'columns' => array(
'name',
'description',
array(
'header' => 'Column from tbl_b', …Run Code Online (Sandbox Code Playgroud) 这是场景
$(document).ready(function(){
var rowIndex = 0;
var count = 0;
function callThisFunction(index, value, count) {
alert('called');
}
function dynamicContentAdd() {
rowIndex++;
count++;
var row = "<input name='input["+rowIndex+"]' onkeyup = 'callThisFunction("+rowIndex+","+total[1]+","+count+");' id='input"+rowIndex+"' type='text' class='inputfield' />";
$("#table").append(row);
}
Run Code Online (Sandbox Code Playgroud)
我在单击按钮时就调用了dynamicContentAdd()函数,它工作正常。但是不起作用的是它没有在keyup上调用函数callThisFunction()。出现错误,未定义功能。但是当我在外部js文件中具有相同的功能时,它将成功调用它。这不是从jquery中动态添加的html代码中调用函数的方法吗?
请告诉我。
谢谢