私はasp.netWebサイト開発者に不慣れです。私のWebサイトでは、GridViewコントロールを使用しています。GridView行には、TextBox、DropDownListなどのコントロールを配置しています。
GridViewに値を表示できます。
しかし、私の要件は、GridViewに存在するTextBoxとDropdownListから値を取得することです。
私が前進するのを手伝ってください。
ありがとう、じゃね..
私はasp.netWebサイト開発者に不慣れです。私のWebサイトでは、GridViewコントロールを使用しています。GridView行には、TextBox、DropDownListなどのコントロールを配置しています。
GridViewに値を表示できます。
しかし、私の要件は、GridViewに存在するTextBoxとDropdownListから値を取得することです。
私が前進するのを手伝ってください。
ありがとう、じゃね..
行ごとにアクセスする必要があります。このコードプロジェクトの記事では、それについて詳しく説明しています。
TextBox tb = (TextBox)gridview1.Rows[0].FindControl("idOfTextBox");
idOfTextBox
上記のステートメントは、idとtypeがであるグリッドの最初の行にコントロールを見つけますtextbox
。
追加のテキストボックスやドロップダウン変数を使用せずに、直接キャストすることで、任意のコントロールの任意の値を直接取得できます。
例:
string val = ((TextBox)gridview1.Rows[0].FindControl("TextBox_ID")).Text;
それが役に立てば幸い :)
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");
}
}
テキストボックスだけでなく、itemTemplateまたは単にBoundフィールドを使用して配置されたgridview内で使用されたすべてのコントロールから値を取得できます。
値を取得するには、行ごとにループする必要があります
foreach (GridViewRow row in grd_popup_details.Rows)
{
//get control values
}