哭求高手指点---gridview控件的显示问题

chxime 2009-04-13 02:41:05
web窗体中有一个gridview控件,代码如下:
<asp:GridView ID="OtherWorkView" DataSourceID="myOtherWorkView" runat="server" onRowDataBound="OtherWorkView_RowDataBound" >
<Columns>
<asp:BoundField HeaderText="工作类型" DataField="WorkType" ItemStyle-Font-Size="Medium" />
<asp:BoundField HeaderText="工作人员" DataField="Worker" ItemStyle-Font-Size="Medium" ItemStyle-Width="50px" />
<asp:TemplateField HeaderText="工作内容" >
<ItemTemplate >
<asp:Label ID="lblWorkContent" runat="server" Font-Size="Medium" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

<asp:SqlDataSource ID="myOtherWorkView" runat="server" ConnectionString="<%$ ConnectionStrings:myConnection %>" SelectCommand="select * from tab_OtherWork_WorkType ORDER BY ID" />

该控件的第三列“工作内容”,在onRowDataBound事件中做了处理,因为内容很多,用前十个字符加。。。 来代替,代码如下:
protected void OtherWorkView_RowDataBound(object sender, GridViewRowEventArgs e) //动态显示OtherWorkView控件中的内容
{

e.Row.Attributes["onmouseover"] = "c=this.style.backgroundColor;this.style.backgroundColor='AliceBlue'";
e.Row.Attributes["onmouseout"] = "this.style.backgroundColor=c";
if (e.Row.RowType == DataControlRowType.DataRow)
{

DataRowView drv = (DataRowView)(e.Row.DataItem);
Label lblWorkContent = (Label)e.Row.FindControl("lblWorkContent");
string strContent = drv["WorkContent"].ToString();
if (strContent.Length > 10)
{
strContent = strContent.Substring(0, 10);
strContent = strContent + "...";
}
lblWorkContent.Text = strContent;

}
}
我现在想实现的功能是:在鼠标挪到该控件的第三列“工作内容”时,能在鼠标右下方弹出一个小窗口,显示对应这一列全部的详细内容,哭求高手指点。。。。。。
...全文
149 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
myteaching 2009-04-14
  • 打赏
  • 举报
回复
不太明白,能给个完整的例子就更好了!!!
myteaching 2009-04-14
  • 打赏
  • 举报
回复
不太明白,能给个完整的例子就更好了!!!
夏脑 2009-04-14
  • 打赏
  • 举报
回复
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
e.Row.Cells[2].Attributes["title"] = "OK";
}
catch { }
}
chxime 2009-04-14
  • 打赏
  • 举报
回复
用了楼上的方法,在if语句前面加了一句:
lblWorkContent.Attributes["title"] = drv["WorkContent"].ToString();
出现的效果时,有时候鼠标挪到这一列,所出现得小标题框会闪一下再出现,及一开始出现一秒钟变没然后又出现,遇到内容很长的,这个标题框就会狂闪不止,不知道为什么会闪,有没有办法解决啊?
chxime 2009-04-13
  • 打赏
  • 举报
回复
加了一行: e.Row.Cells[4].Attributes["title"] = drv["WorkContent"].ToString();
但是执行后没什么反应啊??????
Terran5 2009-04-13
  • 打赏
  • 举报
回复
e.Row.Cells[列号或列标].Attributes["title"] = "要显示的内容";
Myth_NiuNiu 2009-04-13
  • 打赏
  • 举报
回复
用脚本写吧
夏脑 2009-04-13
  • 打赏
  • 举报
回复
若要在某列上加:
e.Row.Cells[列号或列标].Attributes["title"] = "要显示的内容";
夏脑 2009-04-13
  • 打赏
  • 举报
回复
加一行 e.Row.Attributes["title"] = "要显示的内容";
chxime 2009-04-13
  • 打赏
  • 举报
回复
高手能不能给个代码例子???还是不明白~~~~~~
goldxinx 2009-04-13
  • 打赏
  • 举报
回复
搜索一下相关JavaScript脚本
再事件里相应处理
满衣兄 2009-04-13
  • 打赏
  • 举报
回复
这个要自己写个CSS啊,就是个div的隐藏与显示,关键是要把css写好看点。
mykelly6 2009-04-13
  • 打赏
  • 举报
回复
用tooltip控件应该可以实现的。

private void listView_book_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e)
{
DataRow r = (DataRow)e.Item.Tag;
string tipInfo = r["title"].ToString() + "\r\n作成日時:" + r["createTime"].ToString();
toolTip_book.SetToolTip((ListView)sender, tipInfo);
}

我这个是listview的,gridview的用法应该也是一样吧?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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