Daha önce kodla ilgili sorunum yok. Biri yardım edebilir mi?Gri görünümde, şablon görünümündeki metin kutularındaki değerler alınamıyor
- tarihi
- Müşteriler
- PayingBookNoOrDD
levha beş satır var: Üç sütun vardır Excel sayfasındaki ithal ederek PageLoad()
üzerinde doldurulan bir GRIDVIEW GridView1
var. Kullanıcılar, verileri sayfadaki metin kutularında düzenleyebilir (aşağıdaki işaret). Düzenlemeden sonra, kullanıcı gönder düğmesini tıkladığında, bu yeni değerleri tüm metin kutularından almalı ve GridView
'un bulunduğu yerden aynı Excel sayfasını güncellemeliyim.
Üç yeni dizi oluşturdum: dateArray
, custArray
ve payingInBookArray
bu yeni değerleri depolamak için. Ama uygulamayı çalıştırdığımda üç dizinin tamamı boş.
Biçimlendirme:
<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" />
kod arkadaki:
protected void Page_Load(object sender, EventArgs e)
{
string selectQuery = "SELECT * FROM [Month1$B2:D5]";
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter(selectQuery, conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
conn.Close();
da.Dispose();
conn.Dispose();
}
protected void txtSubmit_Click(object sender, EventArgs e)
{
IList<string> DateArray = new List<string>();
IList<string> custArray = new List<string>();
IList<string> payInBookArray = new List<string>();
foreach (GridViewRow gr in GridView1.Rows)
{
TextBox lblDate = (TextBox)gr.Cells[0].FindControl("txtDate");
DateArray.Add(lblDate.Text);
TextBox lblCustomers = (TextBox)gr.Cells[1].FindControl("txtCustomers");
custArray.Add(lblCustomers.Text);
TextBox lblPayInBookNo = (TextBox)gr.Cells[2].FindControl("txtPayingInBookNoOrDD");
payInBookArray.Add(lblPayInBookNo.Text);
}
ExportToExcel(DateArray.ToArray(), custArray.ToArray(), payInBookArray.ToArray());
}
herkes bir çözüm varsa lütfen bana bildirin.
Teşekkürler.
temizlemek-up – CAbbott
Merhaba CAbbott düzenlemek için çok fazla kod örnekleri ... Üzgünüm bu siteye yeniyim edin. Soruyu düzenlemeye çalıştım ama daha da karmaşıklaştı. Lütfen bana birkaç dakika ver ve düzelteceğim. – Amol
"txtSubmit" düğmelerini veya gerçekten bir düğme "btn" ise, bir txt'yi önceleyen bir şey çağırmayın, bu çok yanıltıcı olabilir. Bağlantı nesnesini 'using' deyimini kullanarak da sarmalısınız, bu şekilde' .dispose() 'i çağırmak zorunda kalmayacaksınız. – JonH