2009-03-17 12 views
0

データグリッドが設定された後に値を取得する必要があるデータグリッドがあります。私は動的ではない(クリックしない)ことをお勧めします。データグリッドの最終製品は、私は関係なく、その位置のいずれかの値を取得できるようにしたいと思いますが、今、私は唯一の列3データグリッドから値を取得する

から最後の値を取得する必要があり、ヘッダーのセットと、1行

Header1| Header2| Header3
Value1 | Value1 | Value1

です

私は私のasp.netはこのようになりますC#とASP.NET 3.5

を使用しています:

<asp:Panel runat="server" ID="pnlCheckData" Width="730px">    
    <asp:GridView DataKeyNames="uniqueName" id="ViewData" DataSourceID="srcView" Runat="server" AllowSorting="false" CellPadding="1" CellSpacing="1" Visible="true" GridLines="Vertical" Font-Size="X-Small"> 
     <AlternatingRowStyle CssClass="alternating" />        
    </asp:GridView> 
</asp:Panel> 


<asp:ObjectDataSource id="srcCertificationView" TypeName="CertificationClass" SelectMethod = "GetReportSummaryData" Runat="server"> 
    <SelectParameters> 
     <asp:ControlParameter Name="datasourceID" ControlID="Selection" /> 
     <asp:ControlParameter Name="Code" ControlID="countrySelection" /> 
     <asp:ControlParameter Name="dateRange" ControlID="dateSelection" /> 
     <asp:ControlParameter Name="dateProcessed" ControlID="MostRecent" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 
+0

データバインド後、またはブラウザがレンダリングされた後に、値サーバ側を取得しますか? –

+0

私はdatabindの後にそれをserverideしたいと思う。 – aggitan

+0

NemoとCoryのアドバイスを受けて、コンパイルエラーが発生しました.Webチュートリアルからも得られます。 'System.Web.UI.WebControls.ObjectDataSource'に 'Rows'と拡張メソッドの定義が含まれていません '行の 'System.Web.UI.WebControls.ObjectDataSource'型の最初の引数を受け入れる – aggitan

答えて

2

GridViewで列を自動生成させる代わりに、独自の列テンプレートを作成することができます。これにより、FindControl( 'controlID')を使用して値を取得できるように、IDを生成するテキストボックスまたはラベルを与えることができます。

もう1つの方法は、実際には3番目の列の最後の値が必要な場合、nemoが提案したことを実行することです(このコードはフッター行があれば少し異なりますが、もしあなたが望むデータを含むセル):

TableCell myTableCell = myGridView.Rows[myGridView.Rows.Count - 1].Cells[2]; 

その後、myTableCell.Textを取得する場合や、例えば、その中にTextBoxコントロールがあったことができます:(myTableCell.Controls[0] as TextBox).Text

は、この情報がお役に立てば幸いです。

1

は、適切な構文の私の欠如をすみません、私はVisual Studioまたは任意のC#のコードを持っていません私の目の前で 現時点では。

しかしViewDataを、GridViewのオブジェクトを使用して、あなたが繰り返し処理できる行のコレクションを返します

ViewData.getRows() 

ような何かを行うことができるはずです。あなたが最後の行に到達すると

、あなたは

cells = row.getCells() 
cells[3] 

を行うと、3番目のセルに移動することができるはずです。

+1

私が見つけたほとんどの例では、行/行を使用する必要があると言われていますが、いつもコンパイルエラーが発生します。 'System.Web.UI .WebControls.ObjectDataSource 'に' Rows 'の定義がなく、' System.Web.UI.WebControls.ObjectDataSource '型の最初の引数を受け入れる拡張メソッド' Rows 'がありません。 – aggitan

関連する問題