我想用DataGrid读取成绩表的[名字]和[科目]字段,它后面加一文本框(用语输入成绩),然后再一起保存到成绩数据表里面,因为我每次考试都要重复输入学生的[名字]很麻烦的,而某年级某班的名字又不变的,只是成绩再变,怎样做呢?

解决方案 »

  1.   

    在datagrid的名字,科目后面加一个邦定列,数据邦定“成绩”,
    编辑状态下,该列用textbox控件,
    然后用datagrid的updata事件修改成绩。和楼主要求应该差不多!
      

  2.   

    回一个模板列,里面放一个textbox,然后给它绑定数据就OK了
      

  3.   

    对是模板列,sorry,上面写错了!
      

  4.   

    也可以都用模版列
    <asp:datagrid id="DataGrid1" runat="server" HorizontalAlign="Center" Font-Size="13px" Width="80%"
    AllowPaging="True" PageSize="30" AutoGenerateColumns="False">
    <SelectedItemStyle BackColor="#99CCCC"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#E0E0E0"></AlternatingItemStyle>
    <HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="White" BackColor="#009900"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="姓名">
    <ItemTemplate>
    <asp:Label ID="USERID" Runat="server" Text='<%# DataBinder.Eval(Container,"DataItem.USERID")%>'>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="科目">
    <ItemTemplate>
    <asp:Label ID="Label1" Runat="server" Text='<%# DataBinder.Eval(Container,"DataItem.KM")%>' Width=150 Font-Size=12px>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="KM" Runat="server" Text='<%# DataBinder.Eval(Container,"DataItem.USERNAME")%>' Width=150 Font-Size=12px BorderStyle=Groove>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="成绩">
    <ItemTemplate>
    <asp:TextBox ID="GRADE" Runat="server" Text='' Width=150 Font-Size=12px BorderStyle=Groove>
    </asp:TextBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
      

  5.   

    老为你有没有学个SQL,
    这很明显就学生表和成绩表两个表做的事,你把他放到一个表里面肯定就有问题了!