Jac*_*man 8 c# asp.net gridview
我有一个GridView从DataSource连接两个表的值中检索值,我需要在代码隐藏中获取这些值并将它们作为一个传递给它String.关于什么是最好的方法的任何想法?以下是我GridView的aspx:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDsPoNumber" EnableModelValidation="True" Visible="True"
DataKeyNames="PO_NUMBER,SITE_NAME">
<Columns>
<asp:BoundField DataField="PO_NUMBER" HeaderText="PO_NUMBER"
SortExpression="PO_NUMBER" />
<asp:BoundField DataField="SITE_NAME" HeaderText="SITE_NAME"
SortExpression="SITE_NAME" />
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
kar*_*arz 19
foreach (GridViewRow gr in GridView1.Rows)
{
string cell_1_Value= gr.Cells[0].Text;
string cell_2_Value= gr.Cells[1].Text;
}
Run Code Online (Sandbox Code Playgroud)
如您所知,网格视图有多行。因此,您可以从任何行中获取值。
使用数据键获取它:
var ponumber = GridView1.DataKeys[rowIndex].Values[0].ToString();
var sitename = GridView1.DataKeys[rowIndex].Values[1].ToString();
Run Code Online (Sandbox Code Playgroud)
通过单元格获取:
// easiest way, but not the most recommended.
var ponumber = GridView1.Rows[rowIndex].Cells[0].Text; // try 0 or 1
Run Code Online (Sandbox Code Playgroud)
您还可以在行数据绑定事件中获取数据:
protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
var ponumber = GridView1.DataKeys[e.Row.RowIndex].Values[0].ToString();
var sitename = GridView1.DataKeys[e.Row.RowIndex].Values[1].ToString();
}
}
Run Code Online (Sandbox Code Playgroud)