C# 如何在webdatagrid中获取textbox的值?
我总是从网格的文本框中获取空值。以下是我在单击事件中的代码:C# 如何在webdatagrid中获取textbox的值?,c#,asp.net,infragistics,C#,Asp.net,Infragistics,我总是从网格的文本框中获取空值。以下是我在单击事件中的代码: foreach (GridRecord row in wdgTroubleshootCreateEdit.Rows) { int workflowCATParameterId = Convert.ToInt32(row.Items[0].Value); TextBox workflowCATParameterValue =
foreach (GridRecord row in wdgTroubleshootCreateEdit.Rows)
{
int workflowCATParameterId = Convert.ToInt32(row.Items[0].Value);
TextBox workflowCATParameterValue =
(TextBox)row.Items[value].FindControl("txtWorkflowCATParameterValue");
workflowCATParameterValue.text
始终为空我支持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,第一列模板包含名为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>
我用IE 9测试了它:)通过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>
...
我首先会怀疑value
的值。这是否设置为正确的列名或索引?是的。我得到了正确的索引。int value=wdgTroubleshootCreateEdit.Columns.FromKey(“WorkflowCATParameterValue”).Index;我还检查textbox的viewstate是否为true。
<Behaviors>
<ig:EditingCore>
<Behaviors>
<ig:CellEditing EditModeActions-MouseClick="Single">
<ColumnSettings>
...
</ColumnSettings>
<CellEditingClientEvents ExitedEditMode="OnExitedEditMode" />
</ig:CellEditing>
</Behaviors>
</ig:EditingCore>
</Behaviors>