我在DataGrid中添加了选择列,当我选中一行时怎样获取这一行中每个单元格中的文本。
我在SelectedIndexChanged事件中用 SelectedItem.Cells[3].Text为什么不行?

解决方案 »

  1.   

    可以用DataGrid.CurrentCellChanged事件可以用DataGrid[DataGrid.CurrentCell.RowNumber][i]
      

  2.   

    what is in the SelectedItem.Cells[3]? are you sure it is plain text, showy your template, you might need to doLabel lbl = (Label)SelectedItem.Cells[3].Controls[0];
    string s = lbl.Text;or add a control<ItemTemplate><asp:Label id="lbl" runat="server" Text='<%# ..... %>' /></ItemTemplate>
    then useLabel lbl = (Label)SelectedItem.FindControl("lbl");
    string s = lbl.Text;
      

  3.   

    CType(DataGrid.Item.FindControl("文本框的名字"), TextBox).Text
      

  4.   

    我用的是绑定列和按钮列,其中SelectedItem.Cells[3]列是绑定列
      

  5.   

    SelectedItem.Cells[3]?不是这样的。
    你用FindControl吧。
      

  6.   

    FindControl返回的COUNT为0;
    SelectedItem.Cells[3].Text;
      

  7.   

    我的DataGrid代码如下:
    <asp:datagrid id="ProAuditData" style="Z-INDEX: 102" runat="server" Width="780px" Font-Names="宋体" Font-Size="12px" BorderWidth="1px" HorizontalAlign="Center" BackColor="White" BorderColor="#CC9966" BorderStyle="None" AutoGenerateColumns="False" CellPadding="2">
    <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
    <ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" Wrap="False" HorizontalAlign="Center" ForeColor="#FFFFCC" VerticalAlign="Middle" BackColor="#990000"></HeaderStyle>
    <FooterStyle Wrap="False" ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
    <Columns>
    <asp:ButtonColumn Text="编辑" HeaderText="编辑" CommandName="Select">
    <HeaderStyle Width="30px"></HeaderStyle>
    </asp:ButtonColumn>
    <asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete">
    <HeaderStyle Width="30px"></HeaderStyle>
    </asp:ButtonColumn>
    <asp:BoundColumn DataField="委托编号" HeaderText="委托编号">
    <HeaderStyle Width="60px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="建设单位" HeaderText="建设单位" DataFormatString="&lt;DIV style='overflow: hidden;width: 110px;'&gt;{0}&lt;/DIV&gt;">
    <HeaderStyle Width="120px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="施工单位" HeaderText="施工单位" DataFormatString="&lt;DIV style='overflow: hidden;width: 110px;'&gt;{0}&lt;/DIV&gt;">
    <HeaderStyle Width="120px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="建设项目" HeaderText="建设项目" DataFormatString="&lt;DIV style='overflow: hidden;width: 110px;'&gt;{0}&lt;/DIV&gt;">
    <HeaderStyle Width="120px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="单位工程" HeaderText="单位工程" DataFormatString="&lt;DIV style='overflow: hidden;width: 110px;'&gt;{0}&lt;/DIV&gt;">
    <HeaderStyle Width="120px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="送审金额" HeaderText="送审金额" DataFormatString="{0:c}">
    <HeaderStyle Width="100px"></HeaderStyle>
    <ItemStyle Wrap="False" HorizontalAlign="Right" VerticalAlign="Middle"></ItemStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="送审日期" HeaderText="送审日期">
    <HeaderStyle Width="65px"></HeaderStyle>
    </asp:BoundColumn>
    </Columns>
    <PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC" Wrap="False"></PagerStyle>
    </asp:datagrid>
    后台代码如下:
    private void ProAuditData_SelectedIndexChanged(object sender, System.EventArgs e)
    {
      string sub=ProAuditData.SelectedItem.Cells[3].Text;
      string construct=ProAuditData.SelectedItem.Cells[4].Text;
    }可sub,construct始终为空,请各帮助解决,急
      

  8.   

    你给我写信,我告诉你
    我信箱是: [email protected]
      

  9.   

    ((LinkButton)this.DataGrid1.SelectedItem.Cells[0].Controls[0]).Text.Trim()
      

  10.   

    楼猪 SelectedItem.Cells[3].Text  这个值取到什么了? 还是为空 这个先跟踪下  我记得楼猪这样的用法是可以的