2012-05-08 4 views
0

をgridview_RowDeletingからanonymousTypeデータ項目を取得するために、私はRowDeletingイベントにのGridViewからIDを取得したいどのように、私はこのように試してみました。 GridViewののデータソースにバインドするイベント

匿名型はこのようなものです、と私はリスト< このanonymousTypeを使用>:

      new 
         { 
          Id = u.HouseholdID, 
          BuNo = u.Building.BuildingName, 
          UnNo = u.UnitNo, 
          DepNo = u.DepartmentNo, 
          Name = u.aspnet_Users.UserName, 
          Corp = u.Corporation, 
          IdNumber = u.IdNumber, 
          Telephone = u.Telephone, 
          OtherHouseMembers = u.OtherHouseMembers, 
          OtherInfo = u.OtherInfo, 
          CrDate = u.aspnet_Users.aspnet_Membership.CreateDate 
         }); 

私は匿名のオブジェクトを取得するか、単に取得したいですIDプロパティの値。

var HouseHoldid = Convert.ToInt32(gvHouse.Rows[e.RowIndex].Cells[0].Text); 

あなたにもデータソースを更新する必要が削除した後:IDはその後、int型である場合、これはあなたのID

var HouseHoldid = Guid.Parse(gvHouse.Rows[e.RowIndex].Cells[0].Text); 

を取得します

+0

がどのようにGridViewのデータをバインドしているデータソースを取得することができ、この方法は? – Habib

+0

@ Habib.OSU List をグリッドビューにバインドする –

+0

@Kevin "これは機能しません"というのは非常に広範な声明です。コンパイルエラーが出ますか?実行時の例外ですか?例外はありませんが、正しくない動作ですか?詳細はどうぞ。 – phoog

答えて

1

// Get the reference to the bound item 
dynamic item = gvHouse.Rows[e.RowIndex].DataItem; 
// Access item property 
var itemId = item.Id; 

のどれもことを覚えておいてください:あなたは、.NET 4を使用している場合は、このようなdynamicタイプを利用することができます

+0

前回チェックしたとき、文字列をキャストしてGuidに変換できませんでした。 – phoog

+0

@phoog、私はちょうど彼の例に従った、あなたはそれを削除するつもりです – Habib

1

GridViewのためにデータソースをバインドさリストから項目を削除し、リフレッシュあなたのタイプのプロパティはintellisenseを介して利用可能になりますので、あなたはタイプミスを避けなければなりません。

+0

は動作しません "RuntimeBinder.RuntimeBinderException:Null参照で実行時バインディングを実行できません" –

0

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 

    DataTable sourceData = (DataTable)GridView1.DataSource; 

    sourceData.Rows[e.RowIndex].Delete(); 
} 
関連する問題