标签: templatefield

无法从gridview内的templateField中的文本框中获取值

对于之前的代码抱歉.有人可以帮忙吗?我有一个gridview GridView1,PageLoad()通过从包含三列的Excel工作表导入填充:

  1. 日期
  2. 顾客
  3. PayingBookNoOrDD

这张纸有五排.用户可以编辑页面上文本框中的数据(下面的标记).编辑后,当用户点击提交按钮时,我需要从所有文本框中获取这些新值,并从GridView填充的位置更新相同的Excel工作表.

我创建了三个字符串数组:dateArray,custArraypayingInBookArray存储这些新值.但是当我运行应用程序时,所有三个数组都是空的.

标记:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="Date,Customers,PayingInBookNoOrDD" >
    <Columns>
    <asp:TemplateField>
        <HeaderTemplate>Date</HeaderTemplate>
        <ItemTemplate>
            <asp:TextBox runat="server" ID="txtDate" Text='<%# Bind("Date") %>'></asp:TextBox>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
        <HeaderTemplate>Customers</HeaderTemplate>
        <ItemTemplate>
            <asp:TextBox runat="server" ID="txtCustomers" Text='<%# Bind("Customers") %>'></asp:TextBox>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
        <HeaderTemplate>PayingInBookNoOrDD</HeaderTemplate>
        <ItemTemplate>
            <asp:TextBox runat="server" ID="txtPayingInBookNoOrDD" Text='<%# Bind("PayingInBookNoOrDD") %>'></asp:TextBox>
        </ItemTemplate>
    </asp:TemplateField>
    </Columns>
</asp:GridView>

<asp:Button ID="txtSubmit" runat="server" Text="Submit" onclick="txtSubmit_Click" />
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    string selectQuery = "SELECT * …
Run Code Online (Sandbox Code Playgroud)

c# asp.net gridview textbox templatefield

5
推荐指数
1
解决办法
7393
查看次数

如何将CheckBox添加到TemplateField HEADER?

我有这个:

<asp:GridView ID="gvShows" runat="server" HorizontalAlign="Center" DataKeyNames="dataSource,title" Caption="Show List" AutoGenerateColumns="False" AllowSorting="True" CaptionAlign="Top" OnSorting="gvShows_Sorting">
<RowStyle BorderColor="Black" />
<Columns> 
    <asp:TemplateField HeaderText="Select" > 
        <ItemTemplate> 
            <asp:CheckBox ID="cbSelect" runat="server" AutoPostBack="false"/> 
        </ItemTemplate> 
    </asp:TemplateField> 
    <asp:BoundField HeaderText="Data Source" DataField="DataSource" SortExpression="DataSource"/> 
    <asp:BoundField HeaderText="Show Title" DataField="Title" SortExpression="Title"/> 
    <asp:BoundField HeaderText="Episode Title" DataField="EpisodeTitle"     SortExpression="EpisodeTitle"/> 
    <asp:BoundField HeaderText="Genre" DataField="Genre" SortExpression="Genre"/> 
    <asp:BoundField HeaderText="Show Type Description" DataField="ShowTypeDescription" SortExpression="ShowTypeDescription"/> 
    <asp:BoundField HeaderText="Director Name" DataField="DirectorName" SortExpression="DirectorName"/> 
    <asp:BoundField HeaderText="Release Year" DataField="ReleaseYear" SortExpression="ReleaseYear"/> 
    <asp:BoundField HeaderText="Season Episode" DataField="SeasonEpisode" SortExpression="SeasonEpisode"/> 
    <asp:BoundField HeaderText="Show ID" DataField="ShowId" SortExpression="ShowId"/> 
    <asp:BoundField HeaderText="Episode ID" DataField="EpisodeID" SortExpression="EpisodeID"/> 
</Columns>  
Run Code Online (Sandbox Code Playgroud)

这给了我这个:

我想更改突出显示的单词的"SELECT" …

c# asp.net gridview templatefield

5
推荐指数
1
解决办法
2547
查看次数

"更新/取消"按钮不会出现在"TemplateField编辑"按钮中

在Gridview的每一行中创建编辑按钮时,CommandField单击后会显示更新/取消按钮,因此您可以接受/取消更改.但是,我想要一个包含工具提示文本的编辑按钮,因为CommandField我没有使用tooltip属性TemplateField.它使用删除按钮,但我遇到编辑按钮的问题:

<asp:GridView ID="GridView1" runat="server" 
                    AllowPaging="True" AllowSorting="True"
                    DataMember="DefaultView" 
                    DataSourceID="SqlDataSource1" AutoGenerateColumns="False" 
                    DataKeyNames=FIELD,FIELD,FIELD" CellPadding="4" ForeColor="#333333" Width="90%"
                    Height="90%" Font-Size="Small">
                    <RowStyle BackColor="#EFF3FB" />
                    <Columns>
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />                        
                            <asp:CommandField ButtonType="Image"  Visible="true" EditText="Edit" ShowEditButton="True" EditImageUrl="images/pencil1.png"></asp:CommandField>                            
                            <asp:TemplateField >
                            <ItemTemplate>
                             <asp:ImageButton ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" 
                                        OnClientClick="return confirm('¿Are you sure?');" ToolTip="delete" ImageUrl="images/DeleteRed1.png" />
                            </ItemTemplate> …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net gridview commandfield templatefield

4
推荐指数
1
解决办法
5665
查看次数

用TemplateField中的Headertemplate替换HeaderText

我有一个带有templatefield列的gridview.TemplateFields是这样的:

<asp:TemplateField HeaderText="Title" SortExpression="name" meta:resourcekey="BoundFieldResource1">
                                <ItemTemplate>
                                    <asp:Label ID="lblTitle" runat="server" 
                                        Text='<%# Bind("Name") %>' 
                                        meta:resourcekey="BoundFieldResource1"></asp:Label>
                                </ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

我必须为此列的标题添加自定义属性,因此我删除了HeaderText并添加了以下内容:

<Headertemplate>
         <asp:Label ID="lblTitleHeading" runat="server" Text="Title" data-custom="tbl-th_title_heading"></asp:Label>
</Headertemplate>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我这样做时,它将打破该列的排序,我不能点击标题再对它进行排序,我尝试更改为但是没有做任何事情.我很感激你的回答.

sorting webforms custom-attributes templatefield aspxgridview

4
推荐指数
1
解决办法
2130
查看次数

ASP.NET GridView模板字段中的CheckBox不会在提交时保留它的值

我正在尝试在GridView的TemplateField中使用CheckBoxes从该GridView中选择多个条目.GridView的数据源是页面加载时生成的项目列表.

<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" 
            AllowPaging="True" onpageindexchanging="TANsGridView_PageIndexChanging" 
            DataKeyNames="GUID">
            <Columns>
                <asp:TemplateField ShowHeader="False" HeaderText="Checker">
                    <ItemTemplate>
                        <asp:CheckBox ID="SelectCheckbox" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

问题是当我按下提交按钮时,所有CheckBox都返回,Checked属性为'false'.

为了在行中循环,我使用:

foreach (GridViewRow row in TANsGridView.Rows)
        {
            CheckBox cb = (CheckBox)row.FindControl("SelectCheckbox");
        }
Run Code Online (Sandbox Code Playgroud)

我应该使用什么才能访问正确的值?

谢谢,Catalin

asp.net checkbox gridview templatefield

3
推荐指数
1
解决办法
3195
查看次数

GridView模板 - 如何从所选行中获取数据

<asp:TemplateField>    
    <ItemTemplate>
        <table width="540" cellpadding="5">
        <tr>
            <td align="left" style="width:60%;">
                <img src='PurchaseHandler.ashx?ProductID=<%# Eval("ProductID")%>' 
                    alt="<%# Eval("ProductName") %>" />
            </td>
            <td align="left">
                 <h3 style="text-align:left;">
                     <asp:Label ID="nameLabel" runat="server" 
                         Text='<%# Eval("ProductName") %>'  />
                 </h3>
                 <asp:Label ID="priceLabel" runat="server" Text='<%# Eval("Price") %>' />  
                 <br />
                 <asp:LinkButton ID="cartLink" runat="server" Text="<b>Add to Cart</b>"
                     CommandName="Add" CommandArgument='<%# Eval("ProductID") %>' />
            </td>
        </tr>
        </table>
    </ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)

我正在使用购物车业务对象,其中包含未在GridView中显示的字段.我在RowCommand事件处理程序中尝试接下来要做的是从所选行中检索其余的数据字段.这为我提供了所选行中正确的产品ID:

if (e.CommandName == "Add")
{
    int productID = 0;
    int.TryParse(e.CommandArgument as string, out productID);

    // Big blank!
}
Run Code Online (Sandbox Code Playgroud)

如何从所选行中获取其余数据字段以填充我的购物车?通过解释,我可以使用productID挖掘从Session状态拉出的DataSet,并以这种方式获取数据.但是,我想要确定的是,是否存在类似于此的语法,可以在这种情况下使用?

DataRow[] rows = ds.Tables[0].Select("ProductID=" +
                     gridProducts.SelectedDataKey.Values["ProductID"].ToString()); …
Run Code Online (Sandbox Code Playgroud)

asp.net gridview templatefield rowcommand

2
推荐指数
1
解决办法
5773
查看次数

根据数据源值动态启用asp按钮

已解决:请参阅下面的解决方案!

使用带有C#代码的aspx.

我在gridview中的项模板中的按钮中有以下代码:

Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

The name 'IIF' does not exist in the current context
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如果我使用"IF"而不是"IIF",我会得到同样的错误

完整项目模板代码如下:

<ItemTemplate>
                <asp:Button  ID="wrqst_need_ind_btn" runat="server" Text = "Create WR" 
                    onClientClick="javascript:popUp('popup_createWR.aspx')"  
                    Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'
                    CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)

如果我把线路拿出来就可以了.

在我看来这应该工作......

编辑:我现在使用这个:

Enabled='<%#Eval("wrqst_need_ind") == "Y" ? "TRUE" : "FALSE" %>'
Run Code Online (Sandbox Code Playgroud)

并发现此错误:

服务器标签格式不正确.

非常感谢你的帮助!

更新:

我试过这个:

Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(0) %>' and it ran!
Run Code Online (Sandbox Code Playgroud)

但是,每个按钮都被禁用.所以我尝试过:

Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(1) …
Run Code Online (Sandbox Code Playgroud)

asp.net gridview dynamic button templatefield

2
推荐指数
1
解决办法
6712
查看次数

asp页面中的update命令不起作用

好的,我已经通过使用更新参数解决了我的最后一个问题,并将模板字段放在我的网格视图上而不是绑定字段上。

\n\n

显示正常,唯一的问题是更新按钮似乎不起作用。当我单击它时,它只是返回到上一个窗口,而不更新数据库中的数据字段。

\n\n

你能看一下下面的代码并告诉我我是否错过了什么吗?谢谢....

\n\n

在职的:

\n\n
 <asp:GridView DataKeyNames="BenutzerID" ID="grdBenutzer" runat="server" Visible="False" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand">\n            <Columns>\n                <asp:BoundField ReadOnly="true" DataField="BenutzerID" HeaderText="ID" />\n                <asp:TemplateField HeaderText="Titel">\n                    <ItemTemplate>\n                        <%# Eval("Titel")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:TextBox runat="server" ID="txtTitel" Text=\'<%# Bind("Titel")%>\'></asp:TextBox>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Bezeichnung">\n                    <ItemTemplate>\n                        <%# Eval("Bezeichnung")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:DropDownList AppendDataBoundItems="true" runat="server" ID="ddwnBezeichnung" Text=\'<%# Bind("Bezeichnung")%>\'>\n                            <asp:ListItem Text="Mitarbeiter" Value="Mitarbeiter"></asp:ListItem>\n                            <asp:ListItem Text="Praktikant" Value="Praktikant"></asp:ListItem>\n                            <asp:ListItem Text="Azubi" Value="Azubi"></asp:ListItem>\n                            <asp:ListItem Text="Umsch\xc3\xbcler" Value="Umsch\xc3\xbcler"></asp:ListItem>\n                        </asp:DropDownList>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Vorname">\n                    <ItemTemplate>\n                        <%# Eval("Vorname")%>\n                    </ItemTemplate>\n                    <EditItemTemplate>\n                        <asp:TextBox runat="server" ID="txtVorname" Text=\'<%# Bind("Vorname")%>\'/>\n                    </EditItemTemplate>\n                </asp:TemplateField>\n                <asp:TemplateField HeaderText="Nachname">\n …
Run Code Online (Sandbox Code Playgroud)

asp.net sqldatasource templatefield updatecommand

2
推荐指数
1
解决办法
2750
查看次数

Gridview模板字段数据源

我在我的asp.net页面上放置了一个gridview,并使用sql调用来获取数据源.在sql调用中,它带来了所有字段(名称,地址,电话,类型)的数据在gridview上,在编辑期间,有2个字段(电话,类型)需要是模板字段而不是绑定字段,并且项目模板中的文本框或标签(以较小者为准).

当我运行代码时,数据网格完成并填写 - 减去手机或类型字段(模板字段)的信息.如何对字段进行数据绑定,以便正确显示信息.我已经包含了我的代码.

任何帮助将不胜感激.提前致谢!

网格视图:

  <asp:GridView ID="gvMTM" runat="server" AllowPaging="True" DataKeyNames="MTMID"
    AutoGenerateColumns="False" AutoGenerateEditButton="True"
    OnRowEditing="gvMTM_RowEditing" 
    OnRowUpdating="gvMTM_UpdateRowEditing" 
    OnRowCancelingEdit="gvMTM_CancelRowEditing" >
    <Columns>
        <asp:BoundField DataField="MTMID" HeaderText="ID" />
        <asp:BoundField DataField="MTMName" HeaderText="Name" />
        <asp:BoundField DataField="Add1" HeaderText="Add1" />
        <asp:BoundField DataField="Add2" HeaderText="Add2" />
        <asp:BoundField DataField="City" HeaderText="City" />
        <asp:BoundField DataField="ST" HeaderText="ST" />
        <asp:BoundField DataField="Zip" HeaderText="Zip" />
        <asp:BoundField DataField="Email" HeaderText="Email" />
        <asp:TemplateField HeaderText="Phone#">
            <EditItemTemplate>
                <asp:TextBox ID="txtPhoneEdit" runat="server"></asp:TextBox>
                <asp:MaskedEditExtender ID="TemptxtPhone_MaskedEditExtender" runat="server" 
                    CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" 
                    CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" 
                    CultureThousandsPlaceholder="" CultureTimePlaceholder="" Enabled="True" 
                    TargetControlID="TemptxtPhone">
                </asp:MaskedEditExtender>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:TextBox ID="txtPhoneRead" runat="server" BorderStyle="None"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="RR">
            <EditItemTemplate> …
Run Code Online (Sandbox Code Playgroud)

asp.net datagridview templatefield

1
推荐指数
1
解决办法
3万
查看次数

如何在Gridview中的TemplateField中查找控件

我在templateField中有一个带有textBox的gridView.如果行中标记了一个复选框,我想提取textBox的文本.

我有如下定义的gridView

    <asp:GridView ID="GV_Comments" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
        DataSourceID="SQL_Comments">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:CheckBox runat="server" ID="Comment_Select" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
            <asp:TemplateField HeaderText="comment" SortExpression="comment">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("comment") %>'></asp:Label>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:TextBox ID="CommentForPeriod" runat="server" Text='<%# Bind("comment") %>'></asp:TextBox>
                </EditItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView> 
    <asp:Button ID="B_Load" runat="server" Text="Transfer Selection" onclick="B_Load_Click" />
    <br />
    <asp:TextBox ID="CompiledText" runat="server" Width="662px" Rows="10" 
        TextMode="MultiLine"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

代码如下

Protected Sub B_Load_Click(ByVal sender As Object, ByVal e As EventArgs) '(sender As Object, e As System.EventArgs) Handles B_Load.Click
    Dim …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net gridview templatefield

1
推荐指数
1
解决办法
1万
查看次数