高手来啊,详细问题请看.高分!!!!!!

hjwzr 2006-09-29 05:16:07
我的问题是这样的,在Datagrid里我添加了一个按钮列,命令名称为Edit.为什么设置成Edit呢,因为我可以在EditCommand事件下可以获取当前行的值,如下代码
id=e.Item.Cells[1].Text.Trim().ToString();
secBox.Text=e.Item.Cells[1].Text.Trim().ToString();
NameBox.Text=e.Item.Cells[2].Text.Trim().ToString();
time_lengthBox.Text=e.Item.Cells[5].Text.Trim().ToString();
MemoBox.Text=e.Item.Cells[3].Text.Trim().ToString();
但是我想实现选中某一行后能使该行变个颜色,但是要实现选择某一行改变颜色,必须在DataGrid里添加按钮列,命令名称为Select的才行,我不可能在datagrid里添加2个按钮列,可不可以添加一个按钮列来实现我上面的要求 1,改变选中行的颜色.2,可以象id=e.Item.Cells[1].Text.Trim().ToString();来获取datagrid当前行的值
...全文
346 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuniu 2006-09-29
  • 打赏
  • 举报
回复
来获取datagrid当前行的值同时改变当前行颜色,有冲突吗
amingo 2006-09-29
  • 打赏
  • 举报
回复
帮LZ顶
qqtb1314 2006-09-29
  • 打赏
  • 举报
回复
路过,再ding
test33 2006-09-29
  • 打赏
  • 举报
回复
路过 顶了`
hjwzr 2006-09-29
  • 打赏
  • 举报
回复
问题解决了,jerryfos(想飞)说的还不是很对,按对偶启发很大.代码应该改成Datagrid.SelectedIndex=e.Item.ItemIndex;也就是说这行代码加到
private void Datagrid_EditCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
id=e.Item.Cells[1].Text.Trim().ToString();
secBox.Text=e.Item.Cells[1].Text.Trim().ToString();
NameBox.Text=e.Item.Cells[2].Text.Trim().ToString();
time_lengthBox.Text=e.Item.Cells[5].Text.Trim().ToString();
MemoBox.Text=e.Item.Cells[3].Text.Trim().ToString();
getRadiotxt();
Datagrid.SelectedIndex=e.Item.ItemIndex;
}
jerryfos 2006-09-29
  • 打赏
  • 举报
回复
不好意思,发错了应该是加上一句DataGrid1.SelectIndex=e.Item.ItemIndex;
jerryfos 2006-09-29
  • 打赏
  • 举报
回复
楼上你在原来的代码后面加一句“DataGrid1.SelectItem=e.Item;”就行了
DataGrid的行被选定之后自己会变色的
xingyaohua 2006-09-29
  • 打赏
  • 举报
回复
up
shixin1198 2006-09-29
  • 打赏
  • 举报
回复
是整行的数值还是此行中的字段
如果是此行的字段值是 绑定列的值还是 模板列的值
如果是模板列是普通模式的控件的值还是 编辑模式下的值 你说清楚些
sunjay117 2006-09-29
  • 打赏
  • 举报
回复
DataGrid1.EditItemIndex=e.Item.ItemIndex;
DataGrid1.SelectedIndex=e.Item.ItemIndex;
=================================
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
hjwzr 2006-09-29
  • 打赏
  • 举报
回复
TO:sp1234(能忍耐,该慢则慢,一步步来办。)
那我怎么才能将选中的行的值取出来呢?
shixin1198 2006-09-29
  • 打赏
  • 举报
回复
对选中列设置好显示样式后在点edit事件中 加上 myDataGrid.SelectedIndex=e.Item.itemIndex;
  • 打赏
  • 举报
回复
Q: 必须在DataGrid里添加按钮列,命令名称为Select的才行....
——————————————————————————————————————————
A: 对于后台设置选择行来说,只要写一句:
myDataGrid.SelectedIndex=e.Item.itemIndex;
就行了,不需要另外设置“按钮”。
ustbwuyi 2006-09-29
  • 打赏
  • 举报
回复
比如:
<input type="checkbox" value='<%# Eval("id") %>' onclick="SelectUser(this)" runat="server" id="checkbox" />

<script type="text/javascript" language="javascript">
function SelectUser(thObj)
{
单击的该行就可以获取:
var ss=theObj.value;就可以获取到
变色也可以写在这里面

}
shixin1198 2006-09-29
  • 打赏
  • 举报
回复
普通的绑列在编辑模式下 只有是readonly 才能用id=e.Item.Cells[1].Text.Trim().ToString(); 这种方法取值
shixin1198 2006-09-29
  • 打赏
  • 举报
回复
lz 1点你已经可以实现了吧 2是不能 得到值吗?如果 cell[1]不是模板列的话请将他的属性设成readonly
ustbwuyi 2006-09-29
  • 打赏
  • 举报
回复
MessageList1.ItemDataBound += delegate( object sender, DataGridItemEventArgs e )
{

if ( e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem )
return;
e.Item.Attributes.Add( "onclick", e.Item.FindControl( "checkbox" ).ClientID + ".click();" );

};
这是我以前写的一个,在每行里加了一个checkbox,checkbox触发一个js函数,上面的代码使每行单击时触发同一个js函数,你把这个js函数改一下就可以了,对于获取当前行的值很容易啊,设置一个隐藏列,或者把其他列的value值设置为当前行的值,直接获取就可以了
hjwzr 2006-09-29
  • 打赏
  • 举报
回复
楼上的还是没理解我的意思,这个我也知道,但是我想同时满足2个条件1,改变选中行的颜色.2,可以象id=e.Item.Cells[1].Text.Trim().ToString();来获取datagrid当前行的值
xiaoqhuang 2006-09-29
  • 打赏
  • 举报
回复
如果你只想改变一行的颜色的话,在ItemDataBound事件里添加如下代码:


//鼠标悬停时显示的颜色
private void DataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (itemType == ListItemType.Item )
{
e.Item.Attributes["onmouseout"]= "javascript:this.style.backgroundColor='#e8f4ff';";
e.Item.Attributes["onmouseover"]= "javascript:this.style.backgroundColor='#f3fcde';cursor='hand';" ;
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"]= "javascript:this.style.backgroundColor='#ffffff';";
e.Item.Attributes["onmouseover"]= "javascript:this.style.backgroundColor='#f3fcde';cursor='hand';" ;
}
}
hjwzr 2006-09-29
  • 打赏
  • 举报
回复
高手来啊
加载更多回复(1)

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧