怎样能在datagrid的cell里按回车时执行一段特定的代码? datagrid的onkeypess 或者onkeydown 事件里面不行! 他没有触发这个事件! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try: private void projectinfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) { e.Item.Cells[5].Attributes.Add("onkeydown","javascript:alert('fd')");}} 不好意思 我可能说得不清楚! 我说得是winform里面的datagrid 就像一个表格他的cell可以录入数据 我想的特定列的cell里面按回车时弹出一个窗口 但是没有触法onkeydown事件 你加的那个onkeydown事件只是加到了datagrid上,并没有加入到里面的cell里。所以当你的焦点在cell里面时,并不会触发onkeydown事件。具体怎么实现你想要的结果,我也不知道,表示关注吧! 关于winformhttp://dev.csdn.net/develop/article/16/16273.shtm protected override bool ProcessDialogKey(System.Windows.Forms.Keys keyData){ switch (keyData) { case Keys.Return: //在这里加代码..... break; }} 应加一点,你最好自己写一个继承一个datagrid的类.然后代码写在其中. 增加了CellKetDown事件,正是为了解决你这个问题的http://community.csdn.net/Expert/topic/3434/3434227.xml?temp=.2691309 回复人: allanli(若尘) ( ) 信誉:100 2004-10-15 15:21:00 得分: 0 增加了CellKetDown事件,正是为了解决你这个问题的http://community.csdn.net/Expert/topic/3434/3434227.xml?temp=.2691309 是在2005里面增加了吗? 必须在整个窗体里面截获这个事件/// <summary>/// 截获回车事件/// </summary>protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m) { Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode; if((keyCode ==Keys.Enter)&&(this.ActiveControl is System.Windows.Forms.DataGridTextBox )) { //你的代码 return true; } return false; } hbxtlhx(下着春雨的天) 的解决方法是对的。完全可行,我也是这样解决的。 DataGridTableStyle myTableStyle = new DataGridTableStyle( ); myTableStyle.MappingName = myTableName;/初始化表样式 DataGridTextBoxColumn ColumnStyle = new DataGridTextBoxColumn(); ColumnStyle.MappingName = myDataRow[0].ToString(); ColumnStyle.HeaderText = myDataRow[1].ToString(); ColumnStyle.NullText=""; ColumnStyle.Width = 100; ColumnStyle.TextBox.DoubleClick += new EventHandler(ReportsTextBoxFormClickHandler);//这句就是加输入框的双击事件,也可以加其他事件 myTableStyle.GridColumnStyles.Add(ColumnStyle);//列样式加到表样式里 myDataGrid.TableStyles.Clear(); myDataGrid.TableStyles.Add( myTableStyle ););//表样式加到datagrid里 借楼主宝地问一下:to CSTerry(Terry) 重写了这个方法之后。还需要在什么地方调用吗??? C# + 小型数据库 免费下载的 Visual C# 2010 学习版 日志方法如何记录详细的异常信息? 控件的自动隐藏和显示 什么方法可以点击窗体上任意一快地方,可以拖动整个窗体的啊? 关于MD5密码加密问题 C#与matlab的混合编程 如何在C#.net的WEB页面中向数据库写入数据(用代码控制) 关于Remoting 很基础但挺让人郁闷的问题:不创建远程对象而总是创建本地对象 怎样操作数据库的两张表 关于在C#中取SAP数据的问题 100分请教:我安装完vs2003后,msdn打开后是空的
private void projectinfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{ e.Item.Cells[5].Attributes.Add("onkeydown","javascript:alert('fd')");
}
}
就像一个表格
他的cell可以录入数据 我想的特定列的cell里面按回车时弹出一个窗口 但是没有触法onkeydown事件
http://dev.csdn.net/develop/article/16/16273.shtm
{
switch (keyData)
{
case Keys.Return:
//在这里加代码.....
break;
}
}
http://community.csdn.net/Expert/topic/3434/3434227.xml?temp=.2691309
增加了CellKetDown事件,正是为了解决你这个问题的
http://community.csdn.net/Expert/topic/3434/3434227.xml?temp=.2691309
是在2005里面增加了吗?
/// 截获回车事件
/// </summary>
protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m)
{
Keys keyCode = (Keys)(int)m.WParam & Keys.KeyCode;
if((keyCode ==Keys.Enter)&&(this.ActiveControl is System.Windows.Forms.DataGridTextBox ))
{
//你的代码
return true;
}
return false;
}
myTableStyle.MappingName = myTableName;/初始化表样式 DataGridTextBoxColumn ColumnStyle = new DataGridTextBoxColumn();
ColumnStyle.MappingName = myDataRow[0].ToString();
ColumnStyle.HeaderText = myDataRow[1].ToString();
ColumnStyle.NullText="";
ColumnStyle.Width = 100;
ColumnStyle.TextBox.DoubleClick += new EventHandler(ReportsTextBoxFormClickHandler);//这句就是加输入框的双击事件,也可以加其他事件
myTableStyle.GridColumnStyles.Add(ColumnStyle);//列样式加到表样式里 myDataGrid.TableStyles.Clear();
myDataGrid.TableStyles.Add( myTableStyle ););//表样式加到datagrid里
借楼主宝地问一下:
to CSTerry(Terry) 重写了这个方法之后。还需要在什么地方调用吗???