1. 该列使用模板列 输出结果应该为 input 报单控件 
2. 点击修改时,通过取得这些行的数据的ID值进行修改

解决方案 »

  1.   

    1. 该列使用模板列 输出结果应该为 input 报单控件 
                                  ~~~~~~~~~~~~~~~~~~~~~不是很清楚,希望能说详细点
    我现在用的是
    <asp:TemplateColumn HeaderText="手续费率">
    <EditItemTemplate>
                                         <input id="c_handcha" type="text" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"c_handcha") %>'>
    </EditItemTemplate>
    </asp:TemplateColumn>
    现在不能实现编辑功能,还有就是value那里能不能这样放入预定值??
    2. 点击修改时,通过取得这些行的数据的ID值进行修改
      

  2.   

    需不需要在查询datagrid绑定查询结果的时候加些其他代码呢????
      

  3.   

    <asp:TemplateColumn HeaderText="手续费率">
        <ItemTemplate>
    <%# ShowEditInput(DataBinder.Eval(Container.DataItem, "id").ToString(), DataBinder.Eval(Container.DataItem, "content").ToString()) %>
        </ItemTemplate>
    </asp:TemplateColumn>public string ShowEditInput( string strNo , string strContent )
    {
        string reString = "";
        reString += "<input name=DataGrid1:_ct";
        reString += strNo;
        reString += ":Textbox1 type=text id=DataGrid1__ct";
        reString += strNo;
        reString += "_Textbox1 value=";
        reString += strContent;
        reString += " />";
        return reString;
    }
      

  4.   

    在private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)事件中进行写出对一行的处理方法,在绑定DataGrid1时自动执行,而且速度很快,要比写其他循环实现快。
      

  5.   

    谢谢,但是处理首先要取这些列的值啊
    我用Datagrid1.Items[].Cells[].Text只能取列为boundcolumn列的值,而不能去能编辑的模版列的值。。请问怎么才能取到能编辑列中新输入的值呢???还有就是编辑列的宽度太宽了,不知道怎么调小(我指定了每列的宽度还是不行)???
      

  6.   

    DataGrid1.SelectedItem 获得当前选定项
      

  7.   

    不好意思,问个在笨点的问题
    SelectedItem还是不知道怎么取的他的text或value他好像没有这个属性
      

  8.   

    在private void DataGrid1_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)中写代码找到你在列中使用的控件,然后再处理
      

  9.   

    我用过findControl方法,但是找不到,我在列中用的就是用的上面一个兄弟提到过的
    <input type=text id=****>
    我用(Text)e.FindControl(*****),他找不到
      

  10.   

    是用 e.FindControl(****) 或 (TextBox)e.FindControl(***)
      

  11.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)事件中
    用e.Item.FindControl("控件Id")要进行强制转换如果控件为TextBox则:
    (TextBox)e.Item.FindControl("控件Id"),设置宽度可以在dataGrid1属性-》属性生成器-》格式-列设置