ASP.NETのGridViewで隠されたバウンドフィールドを使用する方法
-
12-11-2019 - |
質問
私はASP.NETのデータソースを使用してGridViewをバインドしています。ただし、これらのバンドフィールドにVisible="false"を設定すると、値は設定されず、RowDataBound関数では常に空白です。
これを行う方法はありますか?私は隠された範囲でスタイルを設定するという提案を見ましたが、これは私のためにも機能しませんでした。理想的には、GridViewで作成された列を望んでいません。ありがとう!
解決
DataItem
メソッドに渡されたGridViewRowEventArgs
からRowDataBound
を使用しましたか?
のようなもの:
protected void MyGridView_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView rowView = (DataRowView)e.Row.DataItem;
// do something with rowView["myHiddenField"]
}
}
.
他のヒント
奇妙な、お元気ですか?私は私が使う前にこれをやったことを知っています:
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("ColumnName")%>'/>
. これのために私はあなたがDatakeyを使うことを勧めます。
PLSこのリンクを参照してください http://www.codeproject.com/kb/grid/data_presentation.aspx
例えば:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
.
DatakeyNames="EMP_ID、コード">
int EmployeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[0]);
int DepartementID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Values[1]);
.
DATAROWバインド:
((GridView)sender).DataKeys[e.Row.RowIndex].Value.ToString();
.
Geetha
所属していません StackOverflow