DataGrid 中双击单元格 单元格就变成可编辑的 怎么做 可编辑?什么意思?动态改变其样式?还是能接受输入数据如果,能接受数据,只要不把DataGrid的 Enable设成false就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 锁定一个单元格????dataGrid.TableStyles[n].GridColumnStyles[m].Readonly= false | true //控制一列可否编辑 在DataGrid的数据邦定时给单元格Atrributes.Add("ondbclick","mFunction(this)");Atrributes.Add("onblur","mFunction2(this)");在页面写scriptfunction mFunction(obj){var oChild = obj.children(0);var mValue = oChild.value;obj.removeChild(oChild);var mChild = obj.createElement('Input');mChild.type = 'text';//这一句不知行不行mChild.value = mValue;obj.insertBefore(mChild);}function mFunction2(obj){var oChild = obj.children(0);var nValue = oChild.value;obj.removeChild(oChild);var nChild = obj.createElement('div');nChild.innerText = nValue;obj.insertBefore(nChild);}以上没有通过测试,不知行不行。而且没有数据更新,你要遍历datagrid的单元格,来更新数据,不过你也可以用一个<input type='hidden'>来保存你更新了那些单元格,这样就不要遍历了 mChild.type = 'text';//这一句不知行不行这一句是正确的,不过不写也一样 控制一列可否编辑1,在DataGrid的第一列添加一个编辑列,并将此列的Visible属性设为false,使这个列不显示出来。2,在DataGrid1_ItemDataBound事件中加上如下代码:private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){ if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientHyperlink((Button)e.Item.Cells[0].Controls[0],"")) ; //非正在编辑的项双击后模拟点击隐藏的编辑按钮。 } if(e.Item.ItemType == ListItemType.EditItem) { e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientHyperlink((Button)e.Item.Cells[0].Controls[2],"")) ; //正在编辑的项双击后模拟点击隐藏的更新按钮。 }} 关于dockManager控件的使用 C# Winform webBrowser禁止强行弹广告 由键盘输入一个数字,为什么会是输入1却变成49呢 VB.NET語句轉化為C# ASP.NET中实现程序自动运行 请问如何判断sql数据库中一个字段的值是否为空,并且填充它 DataGrid自动创建列的问题! 有没有已经做好带textbox的treeview控件?? C#窗体应用程序链接Sqlite数据库的问题 能用C#实现ping吗?请给代码示例 C#调用vc写的dll问题 (付源码) 问一个菜菜的问题!
在页面写script
function mFunction(obj)
{
var oChild = obj.children(0);
var mValue = oChild.value;
obj.removeChild(oChild);
var mChild = obj.createElement('Input');
mChild.type = 'text';//这一句不知行不行
mChild.value = mValue;
obj.insertBefore(mChild);}
function mFunction2(obj)
{
var oChild = obj.children(0);
var nValue = oChild.value;
obj.removeChild(oChild);
var nChild = obj.createElement('div');
nChild.innerText = nValue;
obj.insertBefore(nChild);}以上没有通过测试,不知行不行。
而且没有数据更新,你要遍历datagrid的单元格,来更新数据,不过你也可以用一个<input type='hidden'>来保存你更新了那些单元格,这样就不要遍历了
这一句是正确的,不过不写也一样
2,在DataGrid1_ItemDataBound事件中加上如下代码:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientHyperlink((Button)e.Item.Cells[0].Controls[0],"")) ; //非正在编辑的项双击后模拟点击隐藏的编辑按钮。
}
if(e.Item.ItemType == ListItemType.EditItem)
{
e.Item.Attributes.Add("ondblclick",Page.GetPostBackClientHyperlink((Button)e.Item.Cells[0].Controls[2],"")) ; //正在编辑的项双击后模拟点击隐藏的更新按钮。
}
}