如何获取webdatagrid中文本框的值?

发布于 2024-12-25 00:44:44 字数 429 浏览 2 评论 0原文

我总是从网格的文本框中得到空值。这是我的点击事件的代码:

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

workflowCATParameterValue.text 始终为空

i always get a null value in a textbox from grid.here is my code on my click event:

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

workflowCATParameterValue.text always null

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦中楼上月下 2025-01-01 00:44:44

我使用的是最新的服务版本 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 的 TextBox:

<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 测试过:)

I am with latest service release of 11.2. I tried:

 protected void Button2_Click(object sender, EventArgs e)
{

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

and it works fine :) where my grid is called WebDataGrid1 and first column is templated containing TextBox named 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>

I tested it with IE 9 :)

只涨不跌 2025-01-01 00:44:44

通过 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>

By javascript you can do this:

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

And in your WebDataGrid you need to put this:

<Behaviors>
    <ig:EditingCore>
        <Behaviors>
            <ig:CellEditing EditModeActions-MouseClick="Single">
                <ColumnSettings>
                    ...
                </ColumnSettings>
                <CellEditingClientEvents ExitedEditMode="OnExitedEditMode" />
            </ig:CellEditing>
        </Behaviors>
    </ig:EditingCore>
</Behaviors>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文