使用JS将文本添加到GridView列上的按钮按下
我有一个GridView,可以从服务器上的表中生成数据。我在网格的开头添加了一个按钮,并在网格末端有一个空列。
ASPX:
<asp:GridView ID="MergeInfoGrid" class="FirstCarInfoGrid" runat="server" OnRowDataBound="MergeInfoGrid_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Switch">
<ItemTemplate>
<asp:Button ID="btnSwitch" runat="server" CommandName="Select" Text="Switch" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
CS:
protected void bindMergeInfoGrid()
{
SqlConnection sqlConn = new SqlConnection(Connection);
sqlConn.Open();
//vehicle 1//
string V1Firstname = "";
string V1LastName = "";
string V1Address = "";
string V1City = "";
string V1State = "";
string V1Zipcode = "";
string V1Phone = "";
string V1Cell = "";
string V1Plate = "";
string V1Vin = "";
string V1ManuVin = "";
DateTime V1PurchaseDate = DateTime.MinValue;
string V1eMail = "";
string V1Notes = "";
string strQuery = "SELECT Firstname, LastName, Address, City, State, Zipcode, Phone, Cell, LicensePlate, Vin, ManuVin, Purchasedate, EMail, Notes FROM Cusdata where LicensePlate = '" + mergeCarPlate.Text.Trim() + "'";
SqlCommand cmdQuery = new SqlCommand(strQuery, sqlConn);
SqlDataReader reader = cmdQuery.ExecuteReader();
while (reader.Read())
{
V1Firstname = reader.IsDBNull(0) ? "" : reader.GetString(0);
V1LastName = reader.IsDBNull(1) ? "" : reader.GetString(1);
V1Address = reader.IsDBNull(2) ? "" : reader.GetString(2);
V1City = reader.IsDBNull(3) ? "" : reader.GetString(3);
V1State = reader.IsDBNull(4) ? "" : reader.GetString(4);
V1Zipcode = reader.IsDBNull(5) ? "" : reader.GetString(5);
V1Phone = reader.IsDBNull(6) ? "" : reader.GetString(6);
V1Cell = reader.IsDBNull(7) ? "" : reader.GetString(7);
V1Plate = reader.IsDBNull(8) ? "" : reader.GetString(8);
V1Vin = reader.IsDBNull(9) ? "" : reader.GetString(9);
V1ManuVin = reader.IsDBNull(10) ? "" : reader.GetString(10);
V1PurchaseDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11);
V1eMail = reader.IsDBNull(12) ? "" : reader.GetString(12);
V1Notes = reader.IsDBNull(13) ? "" : reader.GetString(13);
}
reader.Close();
//vehicle 2//
string V2Firstname = "";
string V2LastName = "";
string V2Address = "";
string V2City = "";
string V2State = "";
string V2Zipcode = "";
string V2Phone = "";
string V2Cell = "";
string V2Plate = "";
string V2Vin = "";
string V2ManuVin = "";
DateTime V2PurchaseDate = DateTime.MinValue;
string V2eMail = "";
string V2Notes = "";
strQuery = "SELECT Firstname, LastName, Address, City, State, Zipcode, Phone, Cell, LicensePlate, Vin, ManuVin, Purchasedate, EMail, Notes FROM Cusdata where LicensePlate = '" + mergePlateSearch.Text.Trim() + "'";
cmdQuery = new SqlCommand(strQuery, sqlConn);
reader = cmdQuery.ExecuteReader();
while (reader.Read())
{
V2Firstname = reader.IsDBNull(0) ? "" : reader.GetString(0);
V2LastName = reader.IsDBNull(1) ? "" : reader.GetString(1);
V2Address = reader.IsDBNull(2) ? "" : reader.GetString(2);
V2City = reader.IsDBNull(3) ? "" : reader.GetString(3);
V2State = reader.IsDBNull(4) ? "" : reader.GetString(4);
V2Zipcode = reader.IsDBNull(5) ? "" : reader.GetString(5);
V2Phone = reader.IsDBNull(6) ? "" : reader.GetString(6);
V2Cell = reader.IsDBNull(7) ? "" : reader.GetString(7);
V2Plate = reader.IsDBNull(8) ? "" : reader.GetString(8);
V2Vin = reader.IsDBNull(9) ? "" : reader.GetString(9);
V2ManuVin = reader.IsDBNull(10) ? "" : reader.GetString(10);
V2PurchaseDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11);
V2eMail = reader.IsDBNull(12) ? "" : reader.GetString(12);
V2Notes = reader.IsDBNull(13) ? "" : reader.GetString(13);
}
reader.Close();
DataTable dt = new DataTable();
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Vehicle 1", typeof(string));
dt.Columns.Add("Vehicle 2", typeof(string));
dt.Columns.Add("What Stays", typeof(string));
for (int rowCounter = 0; rowCounter < 13; rowCounter++)
{
switch (rowCounter)
{
case 0:
DataRow dr = dt.NewRow();
dr["Category"] = "First Name";
dr["Vehicle 1"] = V1Firstname;
dr["Vehicle 2"] = V2Firstname;
dr["What Stays"] = WhatStaysFirstName.Value;
dt.Rows.Add(dr);
break;
case 1:
dr = dt.NewRow();
dr["Category"] = "Last Name";
dr["Vehicle 1"] = V1LastName;
dr["Vehicle 2"] = V2LastName;
dr["What Stays"] = WhatStaysLastName.Value;
dt.Rows.Add(dr);
break;
case 2:
dr = dt.NewRow();
dr["Category"] = "Address";
dr["Vehicle 1"] = V1Address;
dr["Vehicle 2"] = V2Address;
dr["What Stays"] = WhatStaysAddress.Value;
dt.Rows.Add(dr);
break;
case 3:
dr = dt.NewRow();
dr["Category"] = "City";
dr["Vehicle 1"] = V1City;
dr["Vehicle 2"] = V2City;
dr["What Stays"] = WhatStaysCity.Value;
dt.Rows.Add(dr);
break;
case 4:
dr = dt.NewRow();
dr["Category"] = "Zipcode";
dr["Vehicle 1"] = V1Zipcode;
dr["Vehicle 2"] = V2Zipcode;
dr["What Stays"] = WhatStaysZipcode.Value;
dt.Rows.Add(dr);
break;
case 5:
dr = dt.NewRow();
dr["Category"] = "Phone";
dr["Vehicle 1"] = V1Phone;
dr["Vehicle 2"] = V2Phone;
dr["What Stays"] = WhatStaysPhone.Value;
dt.Rows.Add(dr);
break;
case 6:
dr = dt.NewRow();
dr["Category"] = "Cell";
dr["Vehicle 1"] = V1Cell;
dr["Vehicle 2"] = V2Cell;
dr["What Stays"] = WhatStaysCell.Value;
dt.Rows.Add(dr);
break;
case 7:
dr = dt.NewRow();
dr["Category"] = "Plate";
dr["Vehicle 1"] = V1Plate;
dr["Vehicle 2"] = V2Plate;
dr["What Stays"] = WhatStaysPlate.Value;
dt.Rows.Add(dr);
break;
case 8:
dr = dt.NewRow();
dr["Category"] = "Vin";
dr["Vehicle 1"] = V1Vin;
dr["Vehicle 2"] = V2Vin;
dr["What Stays"] = WhatStaysVin.Value;
dt.Rows.Add(dr);
break;
case 9:
dr = dt.NewRow();
dr["Category"] = "ManuVin";
dr["Vehicle 1"] = V1ManuVin;
dr["Vehicle 2"] = V2ManuVin;
dr["What Stays"] = WhatStaysManuVin.Value;
dt.Rows.Add(dr);
break;
case 10:
dr = dt.NewRow();
dr["Category"] = "Purchase Date";
dr["Vehicle 1"] = V1PurchaseDate;
dr["Vehicle 2"] = V2PurchaseDate;
dr["What Stays"] = WhatStaysPurchaseDate.Value;
dt.Rows.Add(dr);
break;
case 11:
dr = dt.NewRow();
dr["Category"] = "eMail";
dr["Vehicle 1"] = V1eMail;
dr["Vehicle 2"] = V2eMail;
dr["What Stays"] = WhatStayseMail.Value;
dt.Rows.Add(dr);
break;
case 12:
dr = dt.NewRow();
dr["Category"] = "Notes";
dr["Vehicle 1"] = V1Notes;
dr["Vehicle 2"] = V2Notes;
dr["What Stays"] = WhatStaysNotes.Value;
dt.Rows.Add(dr);
break;
}
}
MergeInfoGrid.DataSource = dt;
MergeInfoGrid.DataBind();
dataDifferenceDiv.Style.Add("Display", "block");
sqlConn.Close();
}
public void MergeInfoGrid_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#ceedfc'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=''");
}
}
我想使用按钮在“车辆1”和“车辆2”列中的数据之间切换“停留”列中的内容。我还希望使用JavaScript在按钮上单击“这样做”,以便每次点击时都不需要任何后备。
I have a gridview that generates data from a table on a server. I have added a button at the beginning of the grid and have an empty column at the end of the grid.
aspx:
<asp:GridView ID="MergeInfoGrid" class="FirstCarInfoGrid" runat="server" OnRowDataBound="MergeInfoGrid_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Switch">
<ItemTemplate>
<asp:Button ID="btnSwitch" runat="server" CommandName="Select" Text="Switch" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
cs:
protected void bindMergeInfoGrid()
{
SqlConnection sqlConn = new SqlConnection(Connection);
sqlConn.Open();
//vehicle 1//
string V1Firstname = "";
string V1LastName = "";
string V1Address = "";
string V1City = "";
string V1State = "";
string V1Zipcode = "";
string V1Phone = "";
string V1Cell = "";
string V1Plate = "";
string V1Vin = "";
string V1ManuVin = "";
DateTime V1PurchaseDate = DateTime.MinValue;
string V1eMail = "";
string V1Notes = "";
string strQuery = "SELECT Firstname, LastName, Address, City, State, Zipcode, Phone, Cell, LicensePlate, Vin, ManuVin, Purchasedate, EMail, Notes FROM Cusdata where LicensePlate = '" + mergeCarPlate.Text.Trim() + "'";
SqlCommand cmdQuery = new SqlCommand(strQuery, sqlConn);
SqlDataReader reader = cmdQuery.ExecuteReader();
while (reader.Read())
{
V1Firstname = reader.IsDBNull(0) ? "" : reader.GetString(0);
V1LastName = reader.IsDBNull(1) ? "" : reader.GetString(1);
V1Address = reader.IsDBNull(2) ? "" : reader.GetString(2);
V1City = reader.IsDBNull(3) ? "" : reader.GetString(3);
V1State = reader.IsDBNull(4) ? "" : reader.GetString(4);
V1Zipcode = reader.IsDBNull(5) ? "" : reader.GetString(5);
V1Phone = reader.IsDBNull(6) ? "" : reader.GetString(6);
V1Cell = reader.IsDBNull(7) ? "" : reader.GetString(7);
V1Plate = reader.IsDBNull(8) ? "" : reader.GetString(8);
V1Vin = reader.IsDBNull(9) ? "" : reader.GetString(9);
V1ManuVin = reader.IsDBNull(10) ? "" : reader.GetString(10);
V1PurchaseDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11);
V1eMail = reader.IsDBNull(12) ? "" : reader.GetString(12);
V1Notes = reader.IsDBNull(13) ? "" : reader.GetString(13);
}
reader.Close();
//vehicle 2//
string V2Firstname = "";
string V2LastName = "";
string V2Address = "";
string V2City = "";
string V2State = "";
string V2Zipcode = "";
string V2Phone = "";
string V2Cell = "";
string V2Plate = "";
string V2Vin = "";
string V2ManuVin = "";
DateTime V2PurchaseDate = DateTime.MinValue;
string V2eMail = "";
string V2Notes = "";
strQuery = "SELECT Firstname, LastName, Address, City, State, Zipcode, Phone, Cell, LicensePlate, Vin, ManuVin, Purchasedate, EMail, Notes FROM Cusdata where LicensePlate = '" + mergePlateSearch.Text.Trim() + "'";
cmdQuery = new SqlCommand(strQuery, sqlConn);
reader = cmdQuery.ExecuteReader();
while (reader.Read())
{
V2Firstname = reader.IsDBNull(0) ? "" : reader.GetString(0);
V2LastName = reader.IsDBNull(1) ? "" : reader.GetString(1);
V2Address = reader.IsDBNull(2) ? "" : reader.GetString(2);
V2City = reader.IsDBNull(3) ? "" : reader.GetString(3);
V2State = reader.IsDBNull(4) ? "" : reader.GetString(4);
V2Zipcode = reader.IsDBNull(5) ? "" : reader.GetString(5);
V2Phone = reader.IsDBNull(6) ? "" : reader.GetString(6);
V2Cell = reader.IsDBNull(7) ? "" : reader.GetString(7);
V2Plate = reader.IsDBNull(8) ? "" : reader.GetString(8);
V2Vin = reader.IsDBNull(9) ? "" : reader.GetString(9);
V2ManuVin = reader.IsDBNull(10) ? "" : reader.GetString(10);
V2PurchaseDate = reader.IsDBNull(11) ? DateTime.MinValue : reader.GetDateTime(11);
V2eMail = reader.IsDBNull(12) ? "" : reader.GetString(12);
V2Notes = reader.IsDBNull(13) ? "" : reader.GetString(13);
}
reader.Close();
DataTable dt = new DataTable();
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Vehicle 1", typeof(string));
dt.Columns.Add("Vehicle 2", typeof(string));
dt.Columns.Add("What Stays", typeof(string));
for (int rowCounter = 0; rowCounter < 13; rowCounter++)
{
switch (rowCounter)
{
case 0:
DataRow dr = dt.NewRow();
dr["Category"] = "First Name";
dr["Vehicle 1"] = V1Firstname;
dr["Vehicle 2"] = V2Firstname;
dr["What Stays"] = WhatStaysFirstName.Value;
dt.Rows.Add(dr);
break;
case 1:
dr = dt.NewRow();
dr["Category"] = "Last Name";
dr["Vehicle 1"] = V1LastName;
dr["Vehicle 2"] = V2LastName;
dr["What Stays"] = WhatStaysLastName.Value;
dt.Rows.Add(dr);
break;
case 2:
dr = dt.NewRow();
dr["Category"] = "Address";
dr["Vehicle 1"] = V1Address;
dr["Vehicle 2"] = V2Address;
dr["What Stays"] = WhatStaysAddress.Value;
dt.Rows.Add(dr);
break;
case 3:
dr = dt.NewRow();
dr["Category"] = "City";
dr["Vehicle 1"] = V1City;
dr["Vehicle 2"] = V2City;
dr["What Stays"] = WhatStaysCity.Value;
dt.Rows.Add(dr);
break;
case 4:
dr = dt.NewRow();
dr["Category"] = "Zipcode";
dr["Vehicle 1"] = V1Zipcode;
dr["Vehicle 2"] = V2Zipcode;
dr["What Stays"] = WhatStaysZipcode.Value;
dt.Rows.Add(dr);
break;
case 5:
dr = dt.NewRow();
dr["Category"] = "Phone";
dr["Vehicle 1"] = V1Phone;
dr["Vehicle 2"] = V2Phone;
dr["What Stays"] = WhatStaysPhone.Value;
dt.Rows.Add(dr);
break;
case 6:
dr = dt.NewRow();
dr["Category"] = "Cell";
dr["Vehicle 1"] = V1Cell;
dr["Vehicle 2"] = V2Cell;
dr["What Stays"] = WhatStaysCell.Value;
dt.Rows.Add(dr);
break;
case 7:
dr = dt.NewRow();
dr["Category"] = "Plate";
dr["Vehicle 1"] = V1Plate;
dr["Vehicle 2"] = V2Plate;
dr["What Stays"] = WhatStaysPlate.Value;
dt.Rows.Add(dr);
break;
case 8:
dr = dt.NewRow();
dr["Category"] = "Vin";
dr["Vehicle 1"] = V1Vin;
dr["Vehicle 2"] = V2Vin;
dr["What Stays"] = WhatStaysVin.Value;
dt.Rows.Add(dr);
break;
case 9:
dr = dt.NewRow();
dr["Category"] = "ManuVin";
dr["Vehicle 1"] = V1ManuVin;
dr["Vehicle 2"] = V2ManuVin;
dr["What Stays"] = WhatStaysManuVin.Value;
dt.Rows.Add(dr);
break;
case 10:
dr = dt.NewRow();
dr["Category"] = "Purchase Date";
dr["Vehicle 1"] = V1PurchaseDate;
dr["Vehicle 2"] = V2PurchaseDate;
dr["What Stays"] = WhatStaysPurchaseDate.Value;
dt.Rows.Add(dr);
break;
case 11:
dr = dt.NewRow();
dr["Category"] = "eMail";
dr["Vehicle 1"] = V1eMail;
dr["Vehicle 2"] = V2eMail;
dr["What Stays"] = WhatStayseMail.Value;
dt.Rows.Add(dr);
break;
case 12:
dr = dt.NewRow();
dr["Category"] = "Notes";
dr["Vehicle 1"] = V1Notes;
dr["Vehicle 2"] = V2Notes;
dr["What Stays"] = WhatStaysNotes.Value;
dt.Rows.Add(dr);
break;
}
}
MergeInfoGrid.DataSource = dt;
MergeInfoGrid.DataBind();
dataDifferenceDiv.Style.Add("Display", "block");
sqlConn.Close();
}
public void MergeInfoGrid_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#ceedfc'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=''");
}
}
I want to use the button to switch the content in "What Stays" Column between the data in "Vehicle 1" and "Vehicle 2" column. I also want this to be done using javascript on button click so there does not need to be any postback with each click.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您实际上是否认为有人会拖延您发布的所有代码?您真的觉得有必要带一个大型木制俱乐部,然后将海报击中果肉,然后痛苦和痛苦地将其送往医院,以阅读所有代码?
根本不清楚该代码应该做什么,但是更糟糕的是,您的问题似乎根本没有遵循发布的代码,对吗?
在哪里?我看不到任何标记或一些称为车辆1的列。
此外,甚至还没有清楚为什么您有所有这些变量和代码?做什么的?
因此,您当然可以加载数据表,然后将其发送给GridView。
因此,说我们有一个网格视图:
因此,可以这样说:
<
a href =“ https://i.sstatic.net/haidb.png” noreferrer”>
因此,现在让我们将一个按钮行汇总到我们拥有的一个按钮行,然后说将酒店名称复制到最后一列。这将使您了解如何在GV中单击的一行操作。
因此,我们可以使用此代码进行按钮单击:
当我说单击第二行时,网格现在显示以下显示:
和输出窗口显示我们有关该行的其他信息,请单击问题:
所以,上面是Nutshell显示了如何获取行信息。显示您如何在一行上进行某些操作。
因此,从上方,您应该能够建立在尝试在一行中工作的操作。
一旦您丢弃了您发布的大量代码(以节省世界贫困),我们就可以使该代码用于行单击。完成后,我们可以考虑将该代码运行并在JavaScript中运行和操作客户端。
但是,我们首先需要摆脱您发布的大量代码 - 您不需要它,然后我们就可以提出一个问题 - 一个基于试图滥用和殴打海报的基于俱乐部和俱乐部,您发布的代码的船只船是没有意义的,不需要的。换句话说?尽量不要对愿意为您提供帮助的堆栈中的人们表现出如此巨大的仇恨和厌恶。
do you actually think someone going to trudge through all that code you posted? Do you really feel it necessary to take a big wooden club, and beat the posters here into a pulp and send them to the hospital in pain and suffering to read all of that code?
It not at all clear what all that code is supposed to do, but worse your question does not seem to follow the posted code at all either, does it?
Where? I don't see any markup or some column called Vehicle 1.
Further more, it not even close to clear why you have all those variables and code? What for?
So, you can certainly load up a data table, and then send that to say a Gridview.
So, say we have this grid view:
So, code to load the grid can be say this:
And now we have this:
So, now lets wire up the one button row click we have, and say copy the hotel name over to the last column. This will give you an idea as to how to operate on one row you click on in the GV.
So, we can have this code for the button click:
When I say click on the 2nd row, then the grid now shows this:
And the output window shows our additional information about the row click in question:
So, above in a nutshell shows how you can get the row information. Shows how you can have some operation occur on and againast the one row.
So, from above, you should be able to build on what kind of operation you are attempting to get working for the one row.
Once you dumped that massive amount of code you posted (to save world poverty), then we can get the code working for the row click. Once done, then we can consider moving that code to run and operate client side in JavaScript.
But, we first need to get rid of the huge mountain of code you posted - you don't need it, and then we can formulate a question - one based on not attempting to abuse and beat the posters here to death with a club and the boat-load of code you posted that does not make sense, and should not be required. In other words? Try not to show such a huge hate and dislike towards the people here on stack overflow that are willing to help you out.