在web form那一列用模板列.取数据时,每一行的取.

解决方案 »

  1.   

    给datagrid添加模板列,然后在模板列加TextBox.在设计器里面就可以添加进来.
      

  2.   

    代码可供参考一下:
     Dim iPos As Integer = e.Item.ItemIndex
            Dim obj As TextBox
            Dim sName, strSQL, strKey As String
            obj = DGrid1.Items(iPos).Cells(1).Controls(0)
            sName = obj.Text
            strKey = DGrid1.DataKeys.Item(iPos)
            strSQL = "Update Login Set use='" & sName & "' where use='" & strKey & "'"
            dbTest.Update(strSQL)
            DGrid1.EditItemIndex = -1
            BindDG()哈哈!我做过
    只要动态加载列,并且设置列的时候用colum1.readonly=true;就可以了
     DataGridTableStyle dataGridTableStyle1      =new System.Windows.Forms.DataGridTableStyle();
    DataGridBoolColumn dataGridBoolColumn1      =new System.Windows.Forms.DataGridBoolColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn1=new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn2= new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn3= new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn4 = new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn5= new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn6= new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn7= new System.Windows.Forms.DataGridTextBoxColumn();
    DataGridTextBoxColumn dataGridTextBoxColumn8= new System.Windows.Forms.DataGridTextBoxColumn();
    ....
    dataGridTextBoxColumn8.Format = "";
    dataGridTextBoxColumn8.FormatInfo = null;
    dataGridTextBoxColumn8.HeaderText = "金额";
    dataGridTextBoxColumn8.MappingName = "RE_TOT_JINE";
    dataGridTextBoxColumn8.Width = 75;
    dataGridTextBoxColumn8.ReadOnly =true;
    // dataGridTableStyle1
    // 

    dataGridTableStyle1.ForeColor = System.Drawing.Color.IndianRed;
    dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[]{
    dataGridBoolColumn1,
    dataGridTextBoxColumn1,
    dataGridTextBoxColumn2,
    dataGridTextBoxColumn3,
    dataGridTextBoxColumn4,
    dataGridTextBoxColumn5,
    dataGridTextBoxColumn6,
    dataGridTextBoxColumn7,
    dataGridTextBoxColumn8});
    this.dataGrid1 .TableStyles .Add (dataGridTableStyle1);
      

  3.   

    在DataGrid的MouseUp事件中判断单击的是那个列,如果是你单击的列,允许用户修改,否则不允许修改!