如何从GridView中的控件获取值?

时间:2013-01-02 06:55:57

标签: asp.net

我是asp.net网站开发人员的新手。 在我的网站中,我使用GridView Control。在GridView行中,我放置了一些控件 文本框,DropDownList的。

我可以在GridView中显示值。

但我的要求是,从GridView和DropdownList中获取GridView中存在的值。

请帮我前进..

谢谢你, 再见..

4 个答案:

答案 0 :(得分:1)

您需要按行访问它们。此代码项目article详细解释了它。

TextBox tb = (TextBox)gridview1.Rows[0].FindControl("idOfTextBox");

上面的语句将在网格的第一行找到控件,其标识为idOfTextBox,类型为textbox

答案 1 :(得分:0)

您可以直接投射直接获取任何控件的任何值,而无需使用额外的文本框或下拉变量。

示例:

string val = ((TextBox)gridview1.Rows[0].FindControl("TextBox_ID")).Text;

希望有所帮助:)

答案 2 :(得分:0)

Subscribe the RowDataBound event(this will be fired on each row available in gridview) of gridview and access like stated below,

protected void grdBillingdata_RowDataBound(object sender, GridViewRowEventArgs e)
{
        if (e.Row.RowType == DataControlRowType.DataRow)
        {   
           //these controls are available inside gridview

            HiddenField hdnNagetiveAmt = (HiddenField)e.Row.FindControl("hdnNagetiveAmt");
            DropDownList ddlFeeType = (DropDownList)e.Row.FindControl("ddlFeeType");            
            TextBox txtFeeDesc = (TextBox)e.Row.FindControl("txtFeeDesc");     
            Button btnUpdate = (Button)e.Row.FindControl("btnUpdate");
        }
}

答案 3 :(得分:0)

不仅是文本框,我们可以从使用itemTemplate放置的gridview内部使用的所有控件中获取值,或者只是一个Bound字段。

您需要为每一行循环以获取值

foreach (GridViewRow row in grd_popup_details.Rows)
 {
 //get control values
 }

Refference link