求助!有关DataGrid选择列的问题

zhaobaofa 2005-03-14 10:44:34
我在DataGrid中添加了选择列,当我选中一行时怎样获取这一行中每个单元格中的文本。
我在SelectedIndexChanged事件中用 SelectedItem.Cells[3].Text为什么不行?
...全文
205 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovelxj 2005-09-03
  • 打赏
  • 举报
回复
楼猪 SelectedItem.Cells[3].Text 这个值取到什么了? 还是为空

这个先跟踪下 我记得楼猪这样的用法是可以的
shine_88 2005-09-03
  • 打赏
  • 举报
回复
up
Tony_HuangMan 2005-09-03
  • 打赏
  • 举报
回复
用ItemDataBound 事件啊
wsh236 2005-09-02
  • 打赏
  • 举报
回复
((LinkButton)this.DataGrid1.SelectedItem.Cells[0].Controls[0]).Text.Trim()
yigebendan 2005-03-30
  • 打赏
  • 举报
回复
你给我写信,我告诉你
我信箱是: ilovevc@126.com
zhaobaofa 2005-03-20
  • 打赏
  • 举报
回复
问题还没解决了
zhaobaofa 2005-03-20
  • 打赏
  • 举报
回复
为什么没人理我了
yigebendan 2005-03-17
  • 打赏
  • 举报
回复
做记号
zhaobaofa 2005-03-17
  • 打赏
  • 举报
回复
做什么记号?
zhaobaofa 2005-03-16
  • 打赏
  • 举报
回复
我的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="<DIV style='overflow: hidden;width: 110px;'>{0}</DIV>">
<HeaderStyle Width="120px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="施工单位" HeaderText="施工单位" DataFormatString="<DIV style='overflow: hidden;width: 110px;'>{0}</DIV>">
<HeaderStyle Width="120px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="建设项目" HeaderText="建设项目" DataFormatString="<DIV style='overflow: hidden;width: 110px;'>{0}</DIV>">
<HeaderStyle Width="120px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="单位工程" HeaderText="单位工程" DataFormatString="<DIV style='overflow: hidden;width: 110px;'>{0}</DIV>">
<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始终为空,请各帮助解决,急
zhaobaofa 2005-03-15
  • 打赏
  • 举报
回复
FindControl返回的COUNT为0;
SelectedItem.Cells[3].Text;
luckyprg 2005-03-15
  • 打赏
  • 举报
回复
SelectedItem.Cells[3]?不是这样的。
你用FindControl吧。
jhtchina 2005-03-15
  • 打赏
  • 举报
回复
记下,不错
zhaobaofa 2005-03-15
  • 打赏
  • 举报
回复
我用的是绑定列和按钮列,其中SelectedItem.Cells[3]列是绑定列
web_gus 2005-03-15
  • 打赏
  • 举报
回复
up
老鹰40 2005-03-15
  • 打赏
  • 举报
回复
思归老大都出手啦,应该没问题啦。
收藏
nill 2005-03-15
  • 打赏
  • 举报
回复
CType(DataGrid.Item.FindControl("文本框的名字"), TextBox).Text
saucer 2005-03-15
  • 打赏
  • 举报
回复
what is in the SelectedItem.Cells[3]? are you sure it is plain text, showy your template, you might need to do

Label 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 use

Label lbl = (Label)SelectedItem.FindControl("lbl");
string s = lbl.Text;

fds2003 2005-03-14
  • 打赏
  • 举报
回复
up
yezie 2005-03-14
  • 打赏
  • 举报
回复
可以用DataGrid.CurrentCellChanged事件

可以用DataGrid[DataGrid.CurrentCell.RowNumber][i]
加载更多回复(1)

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧