这是我的设计
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Font-Names="Arial"
Font-Size="11pt" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
CellPadding="4" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="CheckAll" onclick="return check_uncheck (this );" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="ID" Visible="false" Text='<%# DataBinder.Eval (Container.DataItem, "Id") %>'
runat="server" />
<asp:CheckBox ID="deleteRec" onclick="return check_uncheck (this );" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Id" SortExpression="Id">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FileName" SortExpression="FileName">
<EditItemTemplate>
<asp:Label ID="LblFileName" runat="server" Text='<%# Eval("FileName") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="LblFileName1" runat="server" Text='<%# Bind("FileName") %>'></asp:Label>
<asp:ImageButton ID="img" runat="Server" CommandName="Image" ImageUrl="~/Images/pen.png" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="White" />
<RowStyle BackColor="#F7F7DE" />
<FooterStyle BackColor="#CCCC99" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
</asp:GridView>
<asp:Panel ID="pnlAddEdit" runat="server" CssClass="modalPopup" Style="display: none"
Width="1000px">
<asp:Label Font-Bold="true" ID="Label4" runat="server" Text="File Data"></asp:Label>
<br />
<table align="center" width="1000px">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="RecordTypeCode"></asp:Label>
</td>
<td>
<asp:Label ID="lblRec" runat="server" Text="Content"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblFileHeader" runat="server" Text="FileHeader"></asp:Label>
</td>
<td>
<asp:Label ID="txtCustomerID" Width="500px" MaxLength="5" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblBatchHeader" runat="server" Text="BatchHeader"></asp:Label>
</td>
<td>
<asp:Label ID="txtBatch" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="EntryDetail"></asp:Label>
</td>
<td>
<asp:Label ID="txtEntry" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSave" runat="server" Text="Save" />
</td>
<td>
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClientClick="return Hidepopup()" />
</td>
</tr>
</table>
</asp:Panel>
<asp:LinkButton ID="lnkFake" runat="server"></asp:LinkButton>
<cc1:ModalPopupExtender ID="popup" runat="server" DropShadow="false" PopupControlID="pnlAddEdit"
TargetControlID="lnkFake" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" />
<asp:AsyncPostBackTrigger ControlID="btnSave" />
</Triggers>
</asp:UpdatePanel>
当弹出窗口打开时,我在面板内部取了一些文本框,而不是我需要一个gridview,因为我必须显示一个大文件的内容
这是我的数据
101 111100022 5104885671104200936A094101CapitalOne MudiamInc
5220MudiamInc A510488567CCDITServices000000110422 1111100020000001
622968765348545646565 00004000001007 rajeshk 1111100020000001
62297877654775676546546 00002888891007 rajeshk 1111100020000002
82200000020194754188000000000000000000688889A510488567 111100020000001
5220MudiamInc A510488567CCDITServices000000110422 1111100020000002
62212345678034354465677 00000864451005 swethau 1111100020000003
62212345678087664534543 00000559841011 swathiK 1111100020000004
62212345678097867546435 00000579351012 lavanyaK 1111100020000005
6221234567806754654435435 00000846761013 AnithaN 1111100020000006
82200000040049382712000000000000000000285040A510488567 111100020000002
9000002000001000000060244136900000000000000000071739300
我必须按顺序依次显示
RecordTyecode Content
FileHeader Starting line to be here
BatchHeader Line that come's with 5(First come line)
EntryDetail Number of 6 line has to be added on by one
BatchControl line that starts with 8 has to be here
再次,如果我在5
之后的8
开头,必须像上面的顺序一样追加
任何人都可以给我一个想法,动态添加这个有点棘手,以了解是否需要任何信息
这是在winforms
中完成的,我在网上也需要
答案 0 :(得分:0)
您可以使用与此类似的Ajax弹出控件 - http://www.ezzylearning.com/tutorial.aspx?tid=2861497
答案 1 :(得分:0)
我只是以一种简单的方式得到了这个答案
声明了一个哈希表
static Hashtable rectype = new Hashtable();
在页面加载中,我添加以下内容
if (rectype != null)
{
rectype.Add("1", "File Header");
rectype.Add("5", "Batch Header");
rectype.Add("6", "Entry Detail");
rectype.Add("7", "Addenda Record");
rectype.Add("8", "Batch Control");
rectype.Add("9", "File Control");
}
当用户点击图片按钮
时,这是我的代码 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int id = 0;
string strLine = string.Empty;
string[] lines = null;
if (e.CommandName == "Image")
{
GridViewRow row = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
Label l = (Label)GridView1.Rows[row.RowIndex].Cells[1].FindControl("Label1");
id = Convert.ToInt16(l.Text);
string selectSQL = "Select File_Data from tblachmaster WHERE Id IN (" + id + ")";
MySqlCommand cmd1 = new MySqlCommand(selectSQL);
cmd1.Parameters.Add("@_id", SqlDbType.Int).Value = id;
DataTable dt1 = GetData1(cmd1);
if (dt1 != null)
{
for (int i = 0; i < dt1.Rows.Count; i++)
{
Byte[] bytes = (Byte[])dt1.Rows[i]["File_Data"];
string text = Encoding.UTF8.GetString(bytes);
lines = Regex.Split(text, "\r\n");
strLine = convertArrayToString(lines);
}
}
DataTable table = new DataTable();
table.Columns.Add("RecordTypeCode", typeof(string));
table.Columns.Add("Content", typeof(string));
foreach (string strcontent in lines)
{
if (strcontent != string.Empty)
table.Rows.Add(rectype[(strcontent.Substring(0, 1))], strcontent);
}
dynamicGridView.DataSource = table;
dynamicGridView.DataBind();
popup.Show();
}
}
这对我来说效果很好,点击图片按钮后,这是我的输出