|
Hi
Here is my code: please help me reset the form
public Bihourlyforline()
{
InitializeComponent();
}
private void Bihourlyforline_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'trainningDBDataSetforbihourly1.viewBiHourly3' table. You can move, or remove it, as needed.
this.viewBiHourly3TableAdapter.Fill(this.trainningDBDataSetforbihourly1.viewBiHourly3);
// TODO: This line of code loads data into the 'trainningDBDataSetforbihourly1.tblLine' table. You can move, or remove it, as needed.
this.tblLineTableAdapter.Fill(this.trainningDBDataSetforbihourly1.tblLine);
// TODO: This line of code loads data into the 'trainningDBDataSetforbihourly1.tblLine' table. You can move, or remove it, as needed.
this.tblLineTableAdapter.Fill(this.trainningDBDataSetforbihourly1.tblLine);
this.reportViewer1.RefreshReport();
SetParameters(cbtimeblockline1.Text,cbtimeblockline2.Text,dateTimePicker1forlinebihourly.Text, cbline.Text);
this.reportViewer1.RefreshReport();
}
private void SetParameters(String timeblock5, String timeblock6, String date5, String line)
{
ReportParameter[] rp = new ReportParameter[4];
rp[0] = new ReportParameter("timeblock5");
rp[1] = new ReportParameter("timeblock6");
rp[2]= new ReportParameter("date5");
rp[3]= new ReportParameter("line");
rp[0].Values.Add(timeblock5);
rp[1].Values.Add(timeblock6);
rp[2].Values.Add(date5);
rp[3].Values.Add(line);
reportViewer1.LocalReport.SetParameters(rp);
}
private void btnthongkelinebi_Click(object sender, EventArgs e)
{
SetParameters(cbtimeblockline1.Text,cbtimeblockline2.Text,dateTimePicker1forlinebihourly.Text, cbline.Text);
this.reportViewer1.RefreshReport();
}
}
}
|
|
|
|
|
Looks like you are filling the table in the "Form Load" event. You'd need at least to fill them again (with new data) at the moment you refresh the form.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
HI. I tried to call Form Load but it didn't reflect because it's a event when we begin load form.
We can't call "
private void Bihourlyforline_Load(object sender, EventArgs e) " and also can't call "
public Bihourlyforline() ", Because both of them in the same a form
So, i think now we can only refresh dataset by a command code which i don't know. 
|
|
|
|
|
No, but you could put that code in its own method, and call that from both places.
And yes, you can raise the form_load event by hand but that would be a very bad practice. If you do want to give it a try, pass null as the sender, and EventArgs.Empty as the second argument.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Sorry, i'm not perfect the C# code, could you help me write the full code as set the Null for Event as you said?
Thanks !
|
|
|
|
|
Member 13515702 wrote: i'm not perfect the C# code Yes, well, we all have to start somewhere, and I'm still making foolish mistakes after over 10 years of experience.
You have code in the "Form_Load" event, right? You can put that code into its own method, and than call it from that event. Something like below;
private void Bihourlyforline_Load(object sender, EventArgs e)
{
this.DoLoad();
}
void DoLoad()
{
this.viewBiHourly3TableAdapter.Fill(this.trainningDBDataSetforbihourly1.viewBiHourly3);
this.tblLineTableAdapter.Fill(this.trainningDBDataSetforbihourly1.tblLine);
this.tblLineTableAdapter.Fill(this.trainningDBDataSetforbihourly1.tblLine);
this.reportViewer1.RefreshReport();
SetParameters(cbtimeblockline1.Text,cbtimeblockline2.Text,dateTimePicker1forlinebihourly.Text, cbline.Text);
this.reportViewer1.RefreshReport();
}
This way, the "Load_Form" event will just simply call the "DoLoad" method when it needs to populate the tables. Add a button, and an event-handler, and call the method from there too;
public void Button1_Click(object sender, EventArgs e)
{
this.DoLoad();
} That would execute the code in the "DoLoad" method if a button is clicked (executing the same lines that you would when you Load_Form).
That is preferred over the alternative, where you raise your "Load_Form" event manually in the OnClick of the button (see below for wrong example);
public void Button1_Click(object sender, EventArgs e)
{
this.Bihourlyforline_Load(null, EventArgs.Empty);
this.Bihourlyforline_Load(null, null);
}
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thank you for your supporting 
|
|
|
|
|
Your advice very effective ! Thank you very much!
|
|
|
|
|
You're welcome
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
hi,
I have use RedCell.Diagnostics.Update-Source project.i have use dll from redcell in my application.
but i have one problem in that dll .here
Response = req.GetResponse() as HttpWebResponse;
error:The remote server returned an error: (411) Length Required.
Please any one know .help me.
Thanks,
Urmila Pawar
|
|
|
|
|
The server returned a valid response which is a 411 error message (see 411 Length Required — httpstatuses.com[^]).
The source of the error is in the request send by you:
It does not contain a Content-Length header or the header is invalid.
So you have to check the code that creates the request.
|
|
|
|
|
Hi everybody,
I'm quite new in WPF and C# programming so I don't know if what I'm going to say is feasible or not.
I would like to dynamically associate a treeview to each tab of a tabcontrol, depending on the name of that tab.
Let's consider for example 2 collections of treeviews:
- Treeview A: A1={A1.1, A1.2, A1.3} and A2={A2.1, A2.2, A2.3, A2.4}
- Treeview B: B1={B1.1, B1.2, B1.3} and B2={B2.1, B2.2}
The goal is to get the index (or the name) of each displayed tab of the tabcontrol. And, if that index (or name) is A, then the treeview A should be displayed on tab A. Otherwise, if the name of the tab is B, then treeview B shall be displayed.
Has someone an idea on how to proceed using data binding?
Thanks,
RV
|
|
|
|
|
This requirement smells! It feels like you could use the same treeview and bind different collections to the treeview.
The standard design would be to create each tab with a treeview in it. If you want to limit the size of the viewmodel then each tab would have a usercontrol holding the treeview with a seperate VM supporting it.
Take a look at Simplifying the WPF TreeView by Using the ViewModel Pattern from Josh Smith, I based my extensive use of the treeview and treelistview on his design.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi all!
this algorithm written in c# :
// Derived from LINPACK code.
// Initialize.
double[][] A = Arg;
// m = Arg.RowDimension;
// n = Arg.ColumnDimension;
int nu = System.Math.Min(m, n);
double[] s = new double[System.Math.Min(m + 1, n)];
double[][] U = new double[m][];
for (int i = 0; i < m; i++)
{
U[i] = new double[nu];
}
double[][] V = new double[n][];
for (int i2 = 0; i2 < n; i2++)
{
V[i2] = new double[n];
}
double[] e = new double[n];
double[] work = new double[m];
bool wantu = true;
bool wantv = true;
// Reduce A to bidiagonal form, storing the diagonal elements
// in s and the super-diagonal elements in e.
int nct = System.Math.Min(m - 1, n);
int nrt = System.Math.Max(0, System.Math.Min(n - 2, m));
for (int k = 0; k < System.Math.Max(nct, nrt); k++)
{
if (k < nct)
{
// Compute the transformation for the k-th column and
// place the k-th diagonal in s[k].
// Compute 2-norm of k-th column without under/overflow.
s[k] = 0;
for (int i = k; i < m; i++)
{
s[k] = System.Math.Sqrt(s[k] * s[k] + A[i][k] * A[i][k]);
}
if (s[k] != 0.0)
{
if (A[k][k] < 0.0)
{
s[k] = -s[k];
}
for (int i = k; i < m; i++)
{
A[i][k] /= s[k];
}
A[k][k] += 1.0;
}
s[k] = -s[k];
}
for (int j = k + 1; j < n; j++)
{
if ((k < nct) & (s[k] != 0.0))
{
// Apply the transformation.
double t = 0;
for (int i = k; i < m; i++)
{
t += A[i][k] * A[i][j];
}
t = (-t) / A[k][k];
for (int i = k; i < m; i++)
{
A[i][j] += t * A[i][k];
}
}
// Place the k-th row of A into e for the
// subsequent calculation of the row transformation.
e[j] = A[k][j];
}
if (wantu & (k < nct))
{
// Place the transformation in U for subsequent back
// multiplication.
for (int i = k; i < m; i++)
{
U[i][k] = A[i][k];
}
}
if (k < nrt)
{
// Compute the k-th row transformation and place the
// k-th super-diagonal in e[k].
// Compute 2-norm without under/overflow.
e[k] = 0;
for (int i = k + 1; i < n; i++)
{
e[k] = System.Math.Sqrt(e[k] * e[k] + e[i] * e[i]);
}
if (e[k] != 0.0)
{
if (e[k + 1] < 0.0)
{
e[k] = -e[k];
}
for (int i = k + 1; i < n; i++)
{
e[i] /= e[k];
}
e[k + 1] += 1.0;
}
e[k] = -e[k];
if ((k + 1 < m) & (e[k] != 0.0))
{
// Apply the transformation.
for (int i = k + 1; i < m; i++)
{
work[i] = 0.0;
}
for (int j = k + 1; j < n; j++)
{
for (int i = k + 1; i < m; i++)
{
work[i] += e[j] * A[i][j];
}
}
for (int j = k + 1; j < n; j++)
{
double t = (-e[j]) / e[k + 1];
for (int i = k + 1; i < m; i++)
{
A[i][j] += t * work[i];
}
}
}
if (wantv)
{
// Place the transformation in V for subsequent
// back multiplication.
for (int i = k + 1; i < n; i++)
{
V[i][k] = e[i];
}
}
}
}
// Set up the final bidiagonal matrix or order p.
int p = System.Math.Min(n, m + 1);
if (nct < n)
{
s[nct] = A[nct][nct];
}
if (m < p)
{
s[p - 1] = 0.0;
}
if (nrt + 1 < p)
{
e[nrt] = A[nrt][p - 1];
}
e[p - 1] = 0.0;
// If required, generate U.
if (wantu)
{
for (int j = nct; j < nu; j++)
{
for (int i = 0; i < m; i++)
{
U[i][j] = 0.0;
}
U[j][j] = 1.0;
}
for (int k = nct - 1; k >= 0; k--)
{
if (s[k] != 0.0)
{
for (int j = k + 1; j < nu; j++)
{
double t = 0;
for (int i = k; i < m; i++)
{
t += U[i][k] * U[i][j];
}
t = (-t) / U[k][k];
for (int i = k; i < m; i++)
{
U[i][j] += t * U[i][k];
}
}
for (int i = k; i < m; i++)
{
U[i][k] = -U[i][k];
}
U[k][k] = 1.0 + U[k][k];
for (int i = 0; i < k - 1; i++)
{
U[i][k] = 0.0;
}
}
else
{
for (int i = 0; i < m; i++)
{
U[i][k] = 0.0;
}
U[k][k] = 1.0;
}
}
}
// If required, generate V.
if (wantv)
{
for (int k = n - 1; k >= 0; k--)
{
if ((k < nrt) & (e[k] != 0.0))
{
for (int j = k + 1; j < nu; j++)
{
double t = 0;
for (int i = k + 1; i < n; i++)
{
t += V[i][k] * V[i][j];
}
t = (-t) / V[k + 1][k];
for (int i = k + 1; i < n; i++)
{
V[i][j] += t * V[i][k];
}
}
}
for (int i = 0; i < n; i++)
{
V[i][k] = 0.0;
}
V[k][k] = 1.0;
}
}
// Main iteration loop for the singular values.
int pp = p - 1;
int iter = 0;
double eps = System.Math.Pow(2.0, -52.0);
while (p > 0)
{
int k, kase;
// Here is where a test for too many iterations would go.
// This section of the program inspects for
// negligible elements in the s and e arrays. On
// completion the variables kase and k are set as follows.
// kase = 1 if s(p) and e[k-1] are negligible and k<p
kase="2" if="" s(k)="" is="" negligible="" and="" k<p
="" e[k-1]="" negligible,="" k<p,="" and
="" s(k),="" ...,="" s(p)="" are="" not="" (qr="" step).
="" e(p-1)="" (convergence).
="" for="" (k="p" -="" 2;="" k="">= -1; k--)
{
if (k == -1)
{
break;
}
if (System.Math.Abs(e[k]) <= eps * (System.Math.Abs(s[k]) + System.Math.Abs(s[k + 1])))
{
e[k] = 0.0;
break;
}
}
if (k == p - 2)
{
kase = 4;
}
else
{
int ks;
for (ks = p - 1; ks >= k; ks--)
{
if (ks == k)
{
break;
}
double t = (ks != p ? System.Math.Abs(e[ks]) : 0.0) + (ks != k + 1 ? System.Math.Abs(e[ks - 1]) : 0.0);
if (System.Math.Abs(s[ks]) <= eps * t)
{
s[ks] = 0.0;
break;
}
}
if (ks == k)
{
kase = 3;
}
else if (ks == p - 1)
{
kase = 1;
}
else
{
kase = 2;
k = ks;
}
}
k++;
// Perform the task indicated by kase.
switch (kase)
{
// Deflate negligible s(p).
case 1:
{
double f = e[p - 2];
e[p - 2] = 0.0;
for (int j = p - 2; j >= k; j--)
{
double t = System.Math.Sqrt(s[j] * s[j] + f * f);
double cs = s[j] / t;
double sn = f / t;
s[j] = t;
if (j != k)
{
f = (-sn) * e[j - 1];
e[j - 1] = cs * e[j - 1];
}
if (wantv)
{
for (int i = 0; i < n; i++)
{
t = cs * V[i][j] + sn * V[i][p - 1];
V[i][p - 1] = (-sn) * V[i][j] + cs * V[i][p - 1];
V[i][j] = t;
}
}
}
}
break;
// Split at negligible s(k).
case 2:
{
double f = e[k - 1];
e[k - 1] = 0.0;
for (int j = k; j < p; j++)
{
double t = System.Math.Sqrt(s[j] * s[j] + f * f);
double cs = s[j] / t;
double sn = f / t;
s[j] = t;
f = (-sn) * e[j];
e[j] = cs * e[j];
if (wantu)
{
for (int i = 0; i < m; i++)
{
t = cs * U[i][j] + sn * U[i][k - 1];
U[i][k - 1] = (-sn) * U[i][j] + cs * U[i][k - 1];
U[i][j] = t;
}
}
}
}
break;
// Perform one qr step.
case 3:
{
// Calculate the shift.
double scale = System.Math.Max(System.Math.Max(System.Math.Max(System.Math.Max(System.Math.Abs(s[p - 1]), System.Math.Abs(s[p - 2])), System.Math.Abs(e[p - 2])), System.Math.Abs(s[k])), System.Math.Abs(e[k]));
double sp = s[p - 1] / scale;
double spm1 = s[p - 2] / scale;
double epm1 = e[p - 2] / scale;
double sk = s[k] / scale;
double ek = e[k] / scale;
double b = ((spm1 + sp) * (spm1 - sp) + epm1 * epm1) / 2.0;
double c = (sp * epm1) * (sp * epm1);
double shift = 0.0;
if ((b != 0.0) | (c != 0.0))
{
shift = System.Math.Sqrt(b * b + c);
if (b < 0.0)
{
shift = -shift;
}
shift = c / (b + shift);
}
double f = (sk + sp) * (sk - sp) + shift;
double g = sk * ek;
// Chase zeros.
for (int j = k; j < p - 1; j++)
{
double t = System.Math.Sqrt(f * f + g * g);
double cs = f / t;
double sn = g / t;
if (j != k)
{
e[j - 1] = t;
}
f = cs * s[j] + sn * e[j];
e[j] = cs * e[j] - sn * s[j];
g = sn * s[j + 1];
s[j + 1] = cs * s[j + 1];
if (wantv)
{
for (int i = 0; i < n; i++)
{
t = cs * V[i][j] + sn * V[i][j + 1];
V[i][j + 1] = (-sn) * V[i][j] + cs * V[i][j + 1];
V[i][j] = t;
}
}
t = System.Math.Sqrt(f * f + g * g);
cs = f / t;
sn = g / t;
s[j] = t;
f = cs * e[j] + sn * s[j + 1];
s[j + 1] = (-sn) * e[j] + cs * s[j + 1];
g = sn * e[j + 1];
e[j + 1] = cs * e[j + 1];
if (wantu && (j < m - 1))
{
for (int i = 0; i < m; i++)
{
t = cs * U[i][j] + sn * U[i][j + 1];
U[i][j + 1] = (-sn) * U[i][j] + cs * U[i][j + 1];
U[i][j] = t;
}
}
}
e[p - 2] = f;
iter = iter + 1;
}
break;
// Convergence.
case 4:
{
// Make the singular values positive.
if (s[k] <= 0.0)
{
s[k] = (s[k] < 0.0 ? -s[k] : 0.0);
if (wantv)
{
for (int i = 0; i <= pp; i++)
{
V[i][k] = -V[i][k];
}
}
}
// Order the singular values.
while (k < pp)
{
if (s[k] >= s[k + 1])
{
break;
}
double t = s[k];
s[k] = s[k + 1];
s[k + 1] = t;
if (wantv && (k < n - 1))
{
for (int i = 0; i < n; i++)
{
t = V[i][k + 1]; V[i][k + 1] = V[i][k]; V[i][k] = t;
}
}
if (wantu && (k < m - 1))
{
for (int i = 0; i < m; i++)
{
t = U[i][k + 1]; U[i][k + 1] = U[i][k]; U[i][k] = t;
}
}
k++;
}
iter = 0;
p--;
}
break;
}
}
}
algo compute an svd decompostion, first he decompose it into qr, and what's next didn't knew how it do to get eigen values and eigen vectors ?
|
|
|
|
|
|
thank you for you're post, I read all the algorithms, and remain all the same.
I didn't get the idea of what they do, first lines of the loop they decompose it into qr,
the diagonal in s and the super diagonal in e. but after ... too hairy (eigen values, eigen vectors)
|
|
|
|
|
Then to be honest, you need to learn some math before you start implementation - if you don't understand an algorithm, you have no idea how to debug it (or even how to test it!)
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I will check some math then !
|
|
|
|
|
I want to write one code to fill more comboboxes.
The code is running ok except ' mycbox.Items.Add("een") ' in the final rule.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FindcboBox
{
public partial class Form1 : Form
{
public ComboBox mycbox;
public Form1()
{
InitializeComponent();
{
Cbo1.Items.Clear();
Cbo1.Items.Add("een");
Cbo1.Items.Add("twee");
}
}
private void Button1_Click(object sender, EventArgs e)
{
GetcboBox("Cbo1");
GetcboBox("Cbo2");
GetcboBox("Cbo3");
}
private void GetcboBox(string cbName)
{
mycbox = new ComboBox();
foreach (Control mycbox in this.Controls)
{
if (mycbox is ComboBox & mycbox.Name == cbName)
{
MessageBox.Show("hallo");
mycbox.Text = "kl";
mycbox.Items.Add("een");
}
}
}
}
|
|
|
|
|
Please remember we can't see your screen and we don't have access to your requirements so we don't actually know what you mean when you say that the code runs okay except for the final ComboBox. Are you seeing an exception? Not seeing something you'd expect to see?
This space for rent
|
|
|
|
|
while writing the code a red line appears unther the text "Items".
while cursor above this remark:
"control does not contain a definition for 'items' and no extension method 'items' accepting a first argument of type ' control' could be found (are you missing a using directive or an assembly reference?)"
|
|
|
|
|
That's because mycbo is a Control, not a ComboBox. Look where you defined mycbo , in the foreach .
System.ItDidntWorkException: Something didn't work as expected.
C# - How to debug code[ ^].
Seriously, go read these articles.
Dave Kreskowiak
|
|
|
|
|
Dave's answer is the one you should be following. Just for completeness: The reason why Visual Studio shows a squiggly red line under Items is because mycbox is of the type Control and not ComboBox , and as a Control it doesn't have an Items -property. You verified that it actually is a ComboBox but that doesn't "automagically" make the variable mycbox of that type. You would have to cast it to ComboBox before being able to access its Items -property:
((ComboBox)mycbox).Items.Add("een");
If you get squiggly red lines place the mouse cursor on it and Visual Studio will (usually) give you a pretty good hint at what's wrong with it in a popup-tooltip.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
|
You're welcome and good luck
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|