请问用VB.NET(asp.net)如何在datagrid里直接点击网格内容进行修改,有朋自远方来, 请问用VB.NET(asp.net)如何在datagrid里直接点击网格内容进行修改并进行输入检查,全修改完后,进行更新处理? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体做法如下:在线等画面如下,按检索search button按钮后,显示数据,现在没有问题.现在想改数据cell10,cell11,cell12等,改完后,进行数据合法性检查,点击update button,按钮进行更新, condition1 textbox search button Condition2 textbox update buttondatagrid datacell10 cell11 cell12cell20 cell21 cell22cell30 cell31 cell33 http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4 楼主要的是直接点击行就修改吧?方法:对行绑定一个Onclick事件,当点击的时候去触发DataGrid的Edit,而这个Edit是在列中的Button,只是隐藏而已。给段代码你参考一下。在ItemDataBind时间里面DataGrid1.Item[i].Attributes["onClick"]=Page.GetPostBackHyperlink(btnEdit,""); 对,但是对行怎样进行绑定一个Onclick事件? 具体点:给你一段完整的,我用过的代码,是一个方法,我是用来控制点击的时候就选中该行,如果你把那个按钮事件由选中改为编辑,是一样的。代码如下:(还有控制其他样式的,多余吧)//这里的参数Page,DataGrid都不用管吧,Status是控制状态的,你想办法去除之,最后一个参数是指定现在的这个通过OnClick去调用的Button所在列的列数,当然,你会把他隐藏,实际他需要存在。public static void DataGridItemControl(Page page,DataGrid datagrid,Status status,int ButtonCell) { if(status==Status.Browse) { for(int i=0;i<datagrid.Items.Count;i++) { if(datagrid.Items[i].ItemType.ToString()=="SelectedItem") { ((Button)datagrid.SelectedItem.Cells[ButtonCell].Controls[0]).Enabled=false; datagrid.Items[i].Attributes.Remove("onclick"); datagrid.Items[i].Attributes.Add("onmouseover","this.style.backgroundColor='#FFCC66'"); datagrid.Items[i].Attributes.Add("onmouseout","this.style.backgroundColor='#FFCC66'"); } else { Button btnSelect=(Button)datagrid.Items[i].Cells[ButtonCell].Controls[0]; btnSelect.Enabled=true; datagrid.Items[i].Attributes["onclick"]=page.GetPostBackClientHyperlink(btnSelect,""); datagrid.Items[i].Attributes.Add("onmouseover","this.style.backgroundColor='#FEE4D0'"); if(datagrid.Items[i].ItemType.ToString() =="Item") { datagrid.Items[i].Attributes.Add("onmouseout", "this.style.backgroundColor='White'"); } if(datagrid.Items[i].ItemType.ToString() =="AlternatingItem") { datagrid.Items[i].Attributes.Add("onmouseout", "this.style.backgroundColor='Cornsilk'"); } } } } else { for(int i=0;i<datagrid.Items.Count;i++) { ((Button)datagrid.Items[i].Cells[ButtonCell].Controls[0]).Enabled=false; datagrid.Items[i].Attributes.Remove("onclick"); datagrid.Items[i].Attributes.Remove("onmouseout"); datagrid.Items[i].Attributes.Remove("onmouseover"); } } }不行在短信 html怎么获取网站根目录 javascript怎么由时间格式转换成C#中的string格式 实现伪静态后站内链接的问题 请教:VS2005.NET 乱码如何处理?? 自定义控件如何得到自己的id属性和值? 关于触发DataGrid中放置的按钮的事件的问题 在线求助高手:关于网页转向的问题 那位大哥知道这样的控件啊 TextBox多行文本的问题 crystal report 高手請進!!! 大侠快进,在线等待,怎样在js中访问用户控件中子控件的name? 如何修改web.config文件,才能使指定的页面不需要身份验证?
画面如下,按检索search button按钮后,显示数据,现在没有问题.
现在想改数据cell10,cell11,cell12等,改完后,进行数据合法性检查,
点击update button,按钮进行更新,
condition1 textbox search button
Condition2 textbox update button
datagrid datacell10 cell11 cell12
cell20 cell21 cell22
cell30 cell31 cell33
方法:
对行绑定一个Onclick事件,当点击的时候去触发DataGrid的Edit,而这个Edit是在列中的Button,只是隐藏而已。给段代码你参考一下。在ItemDataBind时间里面
DataGrid1.Item[i].Attributes["onClick"]=Page.GetPostBackHyperlink(btnEdit,"");
但是对行怎样进行绑定一个Onclick事件?
//这里的参数Page,DataGrid都不用管吧,Status是控制状态的,你想办法去除之,最后一个参数是指定现在的这个通过OnClick去调用的Button所在列的列数,当然,你会把他隐藏,实际他需要存在。
public static void DataGridItemControl(Page page,DataGrid datagrid,Status status,int ButtonCell)
{
if(status==Status.Browse)
{
for(int i=0;i<datagrid.Items.Count;i++)
{
if(datagrid.Items[i].ItemType.ToString()=="SelectedItem")
{
((Button)datagrid.SelectedItem.Cells[ButtonCell].Controls[0]).Enabled=false;
datagrid.Items[i].Attributes.Remove("onclick");
datagrid.Items[i].Attributes.Add("onmouseover","this.style.backgroundColor='#FFCC66'");
datagrid.Items[i].Attributes.Add("onmouseout","this.style.backgroundColor='#FFCC66'"); }
else
{
Button btnSelect=(Button)datagrid.Items[i].Cells[ButtonCell].Controls[0];
btnSelect.Enabled=true;
datagrid.Items[i].Attributes["onclick"]=page.GetPostBackClientHyperlink(btnSelect,"");
datagrid.Items[i].Attributes.Add("onmouseover","this.style.backgroundColor='#FEE4D0'");
if(datagrid.Items[i].ItemType.ToString() =="Item")
{
datagrid.Items[i].Attributes.Add("onmouseout", "this.style.backgroundColor='White'");
}
if(datagrid.Items[i].ItemType.ToString() =="AlternatingItem")
{
datagrid.Items[i].Attributes.Add("onmouseout", "this.style.backgroundColor='Cornsilk'");
}
}
}
}
else
{
for(int i=0;i<datagrid.Items.Count;i++)
{
((Button)datagrid.Items[i].Cells[ButtonCell].Controls[0]).Enabled=false;
datagrid.Items[i].Attributes.Remove("onclick");
datagrid.Items[i].Attributes.Remove("onmouseout");
datagrid.Items[i].Attributes.Remove("onmouseover");
}
}
}
不行在短信