DataGrid的行颜色问题 你是不是color搭配不好啊!我试了一下好象没什么问题啊!也可能我理解错你意思啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 选择以后给被选中行输出一段javascript脚本(用来改变本行的颜色)!引起这个的原因可能是“选择”是服务器端的事件,而不让行变成红色是客户端的代码,所以我看不出来!只要你在添加一段变颜色的代码到客户端就可以了! 在DataGrid_ItemDataBound事件中写if(e.Item.ItemType==System.Web.UI.WebControls.ListItemType.Item||e.Item.ItemType==System.Web.UI.WebControls.ListItemType.AlternatingItem){ if(e.Item.ItemIndex==DataGrid.SelectedIndex e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF);} if(e.Item.ItemIndex==DataGrid.SelectedIndex) “选中”我是直接用datagrid的<SelectedItemStyle>区别标志变红是下面这样private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { DataRowView RowView=(DataRowView)e.Item.DataItem; short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim()); if(Freezed==1) { e.Item.ForeColor=Color.Red; } } }} 这肯定不行了。实际上选中红的不能变色过程是这样的:当页面提交、回发时,不管你先前改变成声明颜色了,最后都会成红色。因为private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)事件是每次真正生成DataGrid行触发的事件。所以应该把你的代码换个地方。 private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { DataRowView RowView=(DataRowView)e.Item.DataItem; short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim()); if(Freezed==1) { e.Item.ForeColor=Color.Red; }if(e.Item.ItemIndex==DataGrid.SelectedIndex e.Item.ForeColor=Color.Blue; } }}你的结束的括号好像多了一个 private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { DataRowView RowView=(DataRowView)e.Item.DataItem; short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim()); if(Freezed==1) { e.Item.ForeColor=Color.Red; } if(e.Item.ItemIndex==DataGrid.SelectedIndex e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF); } }}你的扩好好想不匹配 private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { DataRowView RowView=(DataRowView)e.Item.DataItem; short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim()); if(Freezed==1) { e.Item.ForeColor=Color.Red; } if(e.Item.ItemIndex==DataGrid.SelectedIndex)//我这里刚才少了个括号 e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF); } }}怎么发了这么多。。 to jjcccc() : 放在哪里好呢?我是希望页面一出来就显示的。请指教 就是按照我的那个写法,写在ItemDataBound的事件里面就可以啦 aspx文件的字体全变成黑色如何调整成原来的样子 没分散。。但是共享页面错误捕做方法! ■■如何实现百度那种效果,就是关键字部分用红色显示的?用正则怎么处理? 顶者有分,不设置iis,怎么样实现访问www.a.com/a.htm(a.htm这文件不存在了)跳转到自定义的错误页 散分,一个数据库操作问题,在线等!急啊!!猛散分!! 请问C#中跳出过程的语句怎样写? 新手提问 如何用js来设置单选按钮的选中状态 在WIN XP 上如何解决安装VS。NET的问题 为什么出错呢?高手请进! 小问题,可我很菜? 谁能帮我看一下这个datalist是什么写的??? 祝大家中秋快乐!!!!!!
if(e.Item.ItemType==System.Web.UI.WebControls.ListItemType.Item||e.Item.ItemType==System.Web.UI.WebControls.ListItemType.AlternatingItem)
{
if(e.Item.ItemIndex==DataGrid.SelectedIndex
e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF);}
区别标志变红是下面这样
private void DataGridResult_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRowView RowView=(DataRowView)e.Item.DataItem;
short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim());
if(Freezed==1)
{
e.Item.ForeColor=Color.Red;
}
}
}
}
{
ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRowView RowView=(DataRowView)e.Item.DataItem;
short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim());
if(Freezed==1)
{
e.Item.ForeColor=Color.Red;
}
if(e.Item.ItemIndex==DataGrid.SelectedIndex
e.Item.ForeColor=Color.Blue; }
}
}
你的结束的括号好像多了一个
{
ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRowView RowView=(DataRowView)e.Item.DataItem;
short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim());
if(Freezed==1)
{
e.Item.ForeColor=Color.Red;
}
if(e.Item.ItemIndex==DataGrid.SelectedIndex
e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF);
}
}
}
你的扩好好想不匹配
{
ife.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRowView RowView=(DataRowView)e.Item.DataItem;
short Freezed=Convert.ToInt16(RowView["FreezeFlag"].ToString().Trim());
if(Freezed==1)
{
e.Item.ForeColor=Color.Red;
}
if(e.Item.ItemIndex==DataGrid.SelectedIndex)//我这里刚才少了个括号
e.Item.BackColor=System.Drawing.Color.FromArgb(0xFFFFFF);
}
}
}
怎么发了这么多。。