CShow_Update ===CourseShow_Update 这是小弟的一个笔误,SORRY!
如何判断"是不是调用事件丢失的原因"呢???? 请讲的详细点好吗?谢谢..

解决方案 »

  1.   

    你查一下on_init()函数是不是将CourseShow_Update和OnUpdateCommand委托连接?!!
      

  2.   

    你在
    CourseShow_Update 方法中加个断点,看他有没有运行到不就行了你可以看看private void InitializeComponent()
    中有没有你的update 事件有没有关联到你的CourseShow_Update方法
      

  3.   

    我在程序中设了一个断点:
    errMsg.text = selectCommand + " test string"
    但是程序中没有读出相应的内容,也就是说程序就没有进来。
    同时在private void InitializeComponent()中我的内容是空的,我是一个新手,不知到如何进行委托连接。详细点好吗????谢谢
      

  4.   

    在C#中是在 Page_Load() 事件中加if(Page.IsPostBack)
    {
         Return;
    }VB中我不清楚,应该差不多
      

  5.   

    把你DataGrid的代码帖上来看一下。
      

  6.   

    我DataGrid代码如下:可能在一点乱,让各位费心了:<asp:datagrid id="dgrdTask" runat="server" ForeColor="Navy"  OnInit="dgrdTask_Init" Font-Name="Verdana" Font-Size="8pt" Font-Names="Verdana" Height="176px" BorderStyle="Groove" BackColor="LightPink" AllowSorting="True" OnSortCommand="dgrdTask_Sort" AllowPaging="True" OnEditCommand="CourseShow_Edit" OnCancelCommand="CourseShow_Cancel" OnUpdateCommand="CourseShow_Update" AutoGenerateColumns="False" DataKeyField="TaskID" BorderColor="ForestGreen" CellPadding="3" HeaderStyle-BackColor="#aaaadd" OnPageIndexChanged="ChangePage">
    <HeaderStyle BackColor="#AAAADD"></HeaderStyle>
    <Columns>
         <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑">
         <ItemStyle Wrap="False"></ItemStyle>
         </asp:EditCommandColumn>
         <asp:BoundColumn DataField="TaskID" ReadOnly="True" SortExpression="TaskID" HeaderText="TaskID"></asp:BoundColumn>
         <asp:BoundColumn DataField="Name" SortExpression="Exe_Name" ReadOnly="True" HeaderText="Name"></asp:BoundColumn>
         <asp:BoundColumn DataField="State" ReadOnly="True" SortExpression="Exe_State" HeaderText="State"></asp:BoundColumn>
         <asp:BoundColumn DataField="Grade" SortExpression="Exe_Grade" HeaderText="Grade"></asp:BoundColumn>       <asp:BoundColumn DataField="Re" SortExpression="Exe_Re" HeaderText="Re"></asp:BoundColumn>
         <asp:BoundColumn DataField="Comments" HeaderText="备注"></asp:BoundColumn>
    </Columns>
    </asp:datagrid>
      

  7.   

    你把那么多BoundColumn设为ReadOnly那怎么能更新呢?另外给DataGrid绑定一个OnInit事件处理程序干什么呀?
      

  8.   

    看看在InitializeComponent()里有没有类似于下面的语句:this.OnUpdateCommand += new System.EventHandler(this.CourseShow_Update);
      

  9.   

    你找到你的datagrid,在他的属性框中选中事件栏(闪电标签)
    找到updatecommand事件,在后面的下拉框中找到你对应的CourseShow_Update方法,回车就行了,其他丢失的委托也可用同样方法找回来
      

  10.   

    先感谢各位的帮助? 昨晚学校的服务DOWN了,后来一直也就没有上成网,今天看到了大家的贴子,心里是十分感激.先对这些要求做出回复.
     webdiyer(webdiyer)大侠:
     把BoundColumn设为ReadOnly是不希望这些字段更新,还有几个字段是为了更新用的;另外给DataGrid绑定一个OnInit事件处理程序是为了想让页面LOAD的时候对DATAGRID进行数据绑定.即打开页面时,直接显示数据. gOODiDEA(无语) 大侠;在InitializeComponent()里是空的,没有类似的语句.另外,如果用VB来写,这个代码应该怎么写呢? garth(菜鸟) 大侠:  datagrid属性框中并没有事件栏啊? 我也只能在datagrid代码属性中进行选择事件了.选择后,情况依然,怎么办>>>>郁闷但心存感激......
      

  11.   

    你现在能不能确定是你的UpdateCommand事件处理程序没运行还是运行后没更新数据?如果没运行,你应该在事件绑定方面查找原因,象你第一个帖子说的,原因很可能是你的这个处理程序根本没运行。vs.net事件属性就在属性栏上面,是一个闪电形状的标签。
      

  12.   

    我又做一个试验,确实UpdateCommand事件处理程序没运行,但是editcommand和CancelCommand两个事件处理程序都是可以运行的啊, vs.net事件属性在属性栏上面没有找到事件,但在代码编辑中可以找到事件。我又重新把这一个事件与函数关联了一次,还是没有反应.试验中我将
    errMsg.text = selectCommand + " test string"
    做为函数的第一条语句,但是没有相应的信息>>>>咋办???
      

  13.   

    试试把OnUpdateCommand="CourceShow_Update"写在其它事件的前面。
      

  14.   

    委托就是将一个事件和一个处理函数连接,当事件触发时,系统就调用连接的函数。在asp.net中,是在on_init()中,如果是用vs.net,这个是折起来的,用notepad打开.cs就可以看到了.如果没有就是没有连接到,当然也不会有反应了。
    如果不是你就将这个函数和其它事件连接看出来不??!
    这样还不行,你就重新建一个工程来试。如果再不行,发给我看看!
      

  15.   

    Sorry, 更正
    Page_Init() 不是on_init();
      

  16.   

    将datagrid的初始化方法改成onload方法后,即可!!谢谢各位给分!