对于之前的代码抱歉.有人可以帮忙吗?我有一个gridview GridView1,PageLoad()通过从包含三列的Excel工作表导入填充:
这张纸有五排.用户可以编辑页面上文本框中的数据(下面的标记).编辑后,当用户点击提交按钮时,我需要从所有文本框中获取这些新值,并从GridView填充的位置更新相同的Excel工作表.
我创建了三个字符串数组:dateArray,custArray并payingInBookArray存储这些新值.但是当我运行应用程序时,所有三个数组都是空的.
标记:
<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) 我有这个:
<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" …
在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) 我有一个带有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
我正在尝试在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: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) 已解决:请参阅下面的解决方案!
使用带有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) 好的,我已经通过使用更新参数解决了我的最后一个问题,并将模板字段放在我的网格视图上而不是绑定字段上。
\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页面上放置了一个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) 我在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) templatefield ×10
asp.net ×9
gridview ×7
c# ×2
vb.net ×2
aspxgridview ×1
button ×1
checkbox ×1
commandfield ×1
datagridview ×1
dynamic ×1
rowcommand ×1
sorting ×1
textbox ×1
webforms ×1