假设就是输入一个班或更多人的成绩吧.DataGrid的前几列是学生的情况。最后是一列是成绩,怎么样使成绩列处于可写入状态,就像在winfrom中用datagrid那样。
如果要输入成绩,高手们建议采用什么方式比较好呢?

解决方案 »

  1.   

    in ItemTemplate, use<asp:TextBox id="txt" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "YourCOlumn")%>' /><asp:TextBox id="txt2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "YourCOlumn2")%>' />
    upon postback, doforeach (DataGridItem dgi in YourGrid.Items)
    {
      TextBox tb = (TextBox)dgi.FindControl("txt");
      string s = tb.Text;  TextBox tb2 = (TextBox)dgi.FindControl("txt2");
      string s2 = tb2.Text;  //do anything you want
    }
      

  2.   

    在设计datagrid的时候,把想要修改的列的readonly属性设为false,不变的设为true.并为datagrid增添一个修改的按钮列。再加入以下事件的方法。
    Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
            DataGrid1.EditItemIndex = e.Item.ItemIndex
    End Sub
      

  3.   

    添加模板列,在模板列添加TextBox控件就行的