2

データソースが SqlDataReader オブジェクトにバインドされている DataGrid があります。

  SqlDataReader areader = runner.Reader;
  dgSearchResults.DataSource = areader;
  dgSearchResults.DataBind();

グリッドの ItemDataBound イベントを作成しました。各項目がバインドされている間に特定の列/セルの値をチェックして、いくつかのフラグを有効/無効にできるようにしたいと考えています。

ItemDataBound で特定のセル "SvcID" の値を取得するにはどうすればよいですか?

これが私のコードです:

 public void dgSearchResults_ItemDataBound(object sender,  DataGridItemEventArgs e)
    {

        if (ViewState["SvcIDs"] != null)
        {
            if (e.Item != null)
            {
                var svcIds = (List<int>) ViewState["SvcIDs"];

                if (svcIds.Contains(Convert.ToInt32(**DataGrid SvcID Goes Here**))
                {
                    //TODO: enable/disable some icons
                }
            }
        }
    }

以前は RowDataBound イベントを使用していましたが、DataGrid コントロールには使用していませんでした。必要な手順は少し異なっているようです。

SvcIds (インデックスを使用) リストに対して DataGrid の列 "SvcID" の値をチェックするコードは何ですか?

ありがとう

4

3 に答える 3

3

以下を使用して、セルにアクセスできます。

e.Item.Cells[index].Text;

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagriditemeventargs.item.aspx

于 2013-08-15T17:45:40.677 に答える
1

テキストが2番目のセルにある場合。

ex e.Item.Cells[2].Text

于 2013-08-15T17:47:07.323 に答える