怎么在datagrid的一个cell里触发mousedow事件

ju_feng 2002-12-12 09:12:28
怎么在datagrid的一个cell里触发mousedow事件
...全文
55 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dy_2000_abc 2002-12-14
  • 打赏
  • 举报
回复
没什么区别吧,我看那与将TextBox作为DataGrid的子控件没有区别
ju_feng 2002-12-14
  • 打赏
  • 举报
回复
可能是这个样子!不知道此处textbox与控件textbox有何不同!

此处的没有password属性其他的呢?
dy_2000_abc 2002-12-14
  • 打赏
  • 举报
回复
那是因为响应右键的控件是TextBox,右键菜单出现的菜单项与TextBox是一样的。假设你给DataGrid添加了DataGridTableStyle,你可以这样做
DataGrid dg;
...
((DataGridTextBoxColumn)dg.TableStyles[0].GridColumnStyles["..."]).TextBox.MouseDown+=new MouseEventHandler(abc);
private void abc(object sender,MouseEventArgs e)
{
...
}
响应键盘一样的道理,请参照:http://www.csdn.net/Develop/read_article.asp?id=15109
stdao 2002-12-13
  • 打赏
  • 举报
回复
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
{
if (e.Item.ItemIndex >= 0)
{
e.Item.Attributes["onMouseOver"] = "javascript:this.bgColor='#C6D7E7';";
e.Item.Attributes["onMouseOut"] = "javascript:this.bgColor='#ffffff';";
}
}
ybcheng 2002-12-13
  • 打赏
  • 举报
回复
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
int columns = DataGrid1.Columns.Count;
if(e.Item.ItemIndex >= 0)
{
for(int i=0;i<DataGrid1.Columns.Count;i++)
{
e.Item.Cells[i].Attributes.Add("onmouserdown","javascript:wondow.close()");
}
}
}
ju_feng 2002-12-13
  • 打赏
  • 举报
回复
楼上的兄弟,不行,我是说在鼠标进入以后,在cell编辑框中,以后datagrid就不会触发键盘和鼠标的事件了,点击鼠标右键就会出现一般windows中的右键菜单。是“复制、粘贴”等菜单项。
yarshray 2002-12-12
  • 打赏
  • 举报
回复
只能使用datagrid的mousedow事件
如:

protected void dataGrid1_MouseDown(object sender, MouseEventArgs e){
// Use the HitTest method to get a HitTestInfo object.
System.Windows.Forms.DataGrid.HitTestInfo hi;
DataGrid grid = (DataGrid) sender;
hi=grid.HitTest(e.X, e.Y);
// Test if the clicked area was a cell.
if(hi.Type==DataGrid.HitTestType.Cell ) {
// If it's a cell, get the GridTable and CurrencyManager of the
// clicked table.
DataGridTableStyle dgt = dataGrid1.TableStyles[0];
CurrencyManager myCurrencyManager =
(CurrencyManager)this.BindingContext
[myDataSet.Tables[dataGrid1.DataMember]];
// Get the Rectangle of the clicked cell.
Rectangle cellRect;
cellRect=grid.GetCellBounds(hi.Row, hi.Column);
// Get the clicked DataGridTextBoxColumn.
DataGridTextBoxColumn gridCol =
(DataGridTextBoxColumn) dgt.GridColumnStyles[hi.Column];
// Insert code to edit the value.

}

110,539

社区成员

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

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

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