2012-01-04 2 views
0

я всегда получаю нулевое значение в текстовом поле из grid.here мой кода в моем случае клика:Как получить значение текстового поля в webdatagrid?

  foreach (GridRecord row in wdgTroubleshootCreateEdit.Rows) 
      { 
       int workflowCATParameterId = Convert.ToInt32(row.Items[0].Value); 
       TextBox workflowCATParameterValue = 
        (TextBox)row.Items[value].FindControl("txtWorkflowCATParameterValue"); 

workflowCATParameterValue.text всегда нулевая

+0

Я подозреваю, значение 'value' первым. Устанавливается ли оно в нужное имя или индекс столбца? –

+0

yes.i получить нужный индекс. int value = wdgTroubleshootCreateEdit.Columns.FromKey ("WorkflowCATParameterValue"). Индекс; –

+0

Я также проверяю, что viewstate текстового поля истинно. –

ответ

2

Я с последней версией службы 11.2. Я пробовал:

protected void Button2_Click(object sender, EventArgs e) 
{ 

    TextBox text = WebDataGrid1.Rows[0].Items[0].FindControl("TextBox1") as TextBox; 
    var rrr = text.Text; 
} 

и это работает отлично :), где моя сетка называется WebDataGrid1 и первый столбец, содержащий шаблонный TextBox с именем Text:

<ig:WebDataGrid ID="WebDataGrid1" runat="server" Height="350px" Width="400px"> 
    <Columns> 
     <ig:TemplateDataField Key="TemplateField_0"> 
      <header text="TemplateField_0" /> 

      <ItemTemplate> 
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
      </ItemTemplate> 

 </ig:TemplateDataField> 
    </Columns> 
    <Behaviors> 
     <ig:EditingCore> 
      <behaviors> 
       <ig:CellEditing> 
       </ig:CellEditing> 
      </behaviors> 
     </ig:EditingCore> 
     <ig:Activation> 
     </ig:Activation> 
    </Behaviors> 
    <Templates> 
     <ig:ItemTemplate ID="WebDataGrid1Template1" runat="server" 
      TemplateID="Template1"> 
     </ig:ItemTemplate> 
    </Templates> 
</ig:WebDataGrid> 

Я тестировал его с IE 9 :)

0

С помощью javascript вы можете сделать это:

function OnExitedEditMode(sender,e){ 
    var row = e.getCell().get_row(); 
    var text = row.get_cellByColumnKey("YourDataKey").get_value(); 
    .... 
} 

И в вашем WebDataGrid вы должны поставить это:

<Behaviors> 
    <ig:EditingCore> 
     <Behaviors> 
      <ig:CellEditing EditModeActions-MouseClick="Single"> 
       <ColumnSettings> 
        ... 
       </ColumnSettings> 
       <CellEditingClientEvents ExitedEditMode="OnExitedEditMode" /> 
      </ig:CellEditing> 
     </Behaviors> 
    </ig:EditingCore> 
</Behaviors> 
Смежные вопросы