请问用VB.NET(asp.net)如何在datagrid里直接点击网格内容进行修改并进行输入检查,全修改完后,进行更新处理?

解决方案 »

  1.   

    具体做法如下:在线等
    画面如下,按检索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
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=8ADE535F-AD40-4DE3-A962-A64B4FAF12C4
      

  3.   

    楼主要的是直接点击行就修改吧?
    方法:
    对行绑定一个Onclick事件,当点击的时候去触发DataGrid的Edit,而这个Edit是在列中的Button,只是隐藏而已。给段代码你参考一下。在ItemDataBind时间里面
    DataGrid1.Item[i].Attributes["onClick"]=Page.GetPostBackHyperlink(btnEdit,"");
      

  4.   

    对,
    但是对行怎样进行绑定一个Onclick事件?
      

  5.   

    具体点:给你一段完整的,我用过的代码,是一个方法,我是用来控制点击的时候就选中该行,如果你把那个按钮事件由选中改为编辑,是一样的。代码如下:(还有控制其他样式的,多余吧)
    //这里的参数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");
    }
    }
    }
    不行在短信