请问用VB.NET(asp.net)如何在datagrid里直接点击网格内容进行修改,有朋自远方来,
请问用VB.NET(asp.net)如何在datagrid里直接点击网格内容进行修改并进行输入检查,全修改完后,进行更新处理?
问题点数:100、回复次数:10Top
1 楼liulxmooo(娃娃)回复于 2005-01-12 09:06:55 得分 0
upTop
2 楼door0466(小小羊)回复于 2005-01-12 09:12:19 得分 0
具体做法如下:在线等
画面如下,按检索search button按钮后,显示数据,现在没有问题.
现在想改数据cell10,cell11,cell12等,改完后,进行数据合法性检查,
点击update button,按钮进行更新,
condition1 textbox search button
Condition2 textbox update button
datagrid data
cell10 cell11 cell12
cell20 cell21 cell22
cell30 cell31 cell33Top
3 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-01-12 09:13:10 得分 0
http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4Top
4 楼wuyongbiao(圆月弯刀)回复于 2005-01-12 09:16:19 得分 30
UP
Top
5 楼zhanqiangz(闲云野鹤-Overriding)回复于 2005-01-12 09:20:41 得分 10
用编辑列,或者模板列,后者更灵活一些。Top
6 楼skytear()回复于 2005-01-12 09:20:57 得分 0
楼主要的是直接点击行就修改吧?
方法:
对行绑定一个Onclick事件,当点击的时候去触发DataGrid的Edit,而这个Edit是在列中的Button,只是隐藏而已。给段代码你参考一下。
在ItemDataBind时间里面
DataGrid1.Item[i].Attributes["onClick"]=Page.GetPostBackHyperlink(btnEdit,"");Top
7 楼door0466(小小羊)回复于 2005-01-12 09:33:07 得分 0
对,
但是对行怎样进行绑定一个Onclick事件?Top
8 楼door0466(小小羊)回复于 2005-01-12 09:34:06 得分 0
能说具体点吗?
Top
9 楼door0466(小小羊)回复于 2005-01-12 10:23:08 得分 0
急Top
10 楼skytear()回复于 2005-01-12 10:38:10 得分 60
具体点:给你一段完整的,我用过的代码,是一个方法,我是用来控制点击的时候就选中该行,如果你把那个按钮事件由选中改为编辑,是一样的。代码如下:(还有控制其他样式的,多余吧)
//这里的参数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");
}
}
}
不行在短信Top




