<asp:GridView Width="700" ID="gridInboxMessage" runat="server" DataSourceID="LinqDataSource1">
<Columns>
<asp:BoundField DataField="Row" Visible="false" HeaderStyle-Width="10" HeaderText="row" ReadOnly="True" SortExpression="Row" />
<asp:BoundField DataField="Title" HeaderStyle-Width="10" HeaderText="Title" ReadOnly="True" SortExpression="Title" />
</Columns>
</asp:GridView>
row
可见= false。
如何获取此&gt;的文本? gridInboxMessage.Rows[index].Cells[0].Text
不会返回值
如果row
可见=真,那么gridInboxMessage.Rows[index].Cells[0].Text
我可以获得文字。
答案 0 :(得分:3)
您无法获取已设置visible=false
的列的值,因为它未在客户端呈现,并且在回发时不可用。您可以使用隐藏字段并从hidden field
获取值。
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField runat="server" ID="hdf" Value='<# Eval("Row")'>
</asp:HiddenField>
</asp:TemplateField>
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:2)
您可以在该列上设置display:none。这是较少的代码,只在您想要隐藏的列上添加css
<style type="text/css">
.hiddencol
{
display:none;
}
</style>
<asp:GridView Width="700" ID="gridInboxMessage" runat="server" DataSourceID="LinqDataSource1">
<columns>
<asp:boundfield datafield="ProductID" itemstyle-cssclass="hiddencol" />
<asp:boundfield datafield="Name" headertext="Product Name" />
<asp:boundfield datafield="ProductNumber" headertext="Product Number" />
</columns>
</asp:GridView>
答案 2 :(得分:0)
一旦确定了datagrid的行和文本可见,你可以使用这个例子。
此示例适用于c#
string myValue = string.Empty;
myValue = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();