2010-12-07 175 views
0

Hyは、C#を使用して、編集された行から1つのセルテキストを取得する方法は?

私はこのようなAsp.NETでGridViewコントロールがあります。OutputGridView_RowEditingオン

<asp:GridView ID="outputGridView" runat="server" onrowediting="OutputGridView_RowEditing"> 
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Middle" 
         ItemStyle-Width="250px" HeaderText="JobId" HeaderStyle-HorizontalAlign="Left" 
         HeaderStyle-BorderWidth="1px" HeaderStyle-BorderColor="#e1e1e1"> 
         <ItemTemplate> 
          <%# Eval("JobId")%> 
         </ItemTemplate> 
         <HeaderStyle HorizontalAlign="Left" VerticalAlign="Middle" Font-Bold="True"></HeaderStyle> 
         <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" Width="250px" BorderWidth="1px" 
          BorderColor="#e1e1e1"></ItemStyle> 
        </asp:TemplateField> 

</aspGridView> 

を、私はこのコードを持っている:

protected void OutputGridView_RowEditing(object sender, GridViewEditEventArgs e) 
     { 
      GridViewRow currentRow = outputGridView.Rows[e.NewEditIndex]; 
      string JobId = currentRow.Cells[2].Text; 
      e.Cancel = true; 
     } 

しかし、その "" 'のJobId' という文字列で誰かが、どのように編集中の行から3番目のセルのテキストを取得することができますか?

ではなく、評価()メソッドのバインド()メソッドを使用してください、

ジェフ

答えて

0

[OK] Bonshingtonが言ったことが正しいとしたら、ラベルにIDを追加したいとお考えください。

<ItemTemplate> 
    <asp:Label ID="LblJobId" runat="server" Text='<%# Eval("JobId") %>' /> 
</ItemTemplate> 

protected void OutputGridView_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    GridViewRow currentRow = outputGridView.Rows[e.NewEditIndex]; 
    Label jobIdLabel = (Label)currentRow.Cells[2].FindControl("LblJobId"); 
    string jobId = jobIdLabel.Text; 
    e.Cancel = true; 
} 
0

をありがとう、それだけで評価するためです。あなたがGridViewRow currentRowを取得したい場合は、

<Columns> 
    <asp:TemplateField> 
    <EditItemTemplate><asp:Label id="lbl" Text="<%# Eval("JobId")%>" /></EditItemTemplate> 
    </asp:TemplateField> 
</Columns> 

自動車を使用する必要が

0

試みはリテラルcotnrol

<label><%# Eval("JobId")%></label> 

にそれを置くために、あなたのジョブIDの欄には、セルの子コントロール

0

として位置づけます生成グリッド列はプロパティを使用

protected void OutputGridView_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    OutputGridView.Rows[e.NewEditIndex].Cells[0] 
} 
+0

e.Row.RowTypeは無効です... –

+0

私の答えは変わりますが、e.Row.RowTypeは必要ありません。編集する行は、有効な行タイプです。 – maycil

関連する問題