|
|
Unfortunately that does not work as I cannot reliably identify which window belongs to the target document. And yes I do already use that method to enumerate through the child windows.
|
|
|
|
|
I have a table in SQL DB as such:
tblSoftwareCount with
3 Columns shown below for example with no identity (ID)Column:
Software, Count, Domain
Ms office| 1 | MSCom
I need help with C# code that will go and only delete the rows in the "tblSoftwareCount"
with the Column (Domain)(Value "MSCom")
So if the tblSoftwareCount had 100 records, I need the C# windows form code to only
delete the rows that have the Column (Domain) (Value "MSCom")
So something like
var Domain = labelDname.Text;
{
SqlCommand cmd = new SqlCommand("DELETE values ( Domain = labelDname.Text where Domain ....
Something to that effect. I need to pull the value from the labelDname.Text to include in the sql query used to delete the rows in the tblSoftwareCount in the Sql Sever Database.
|
|
|
|
|
DELETE
FROM tblWhatsitsName
WHERE Columname = @value You set the condition in SQL. Use a parameterized query, Google has examples
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
HI, i have a report viewer use dataparameter to filter data, please help me refresh it, no need close form.
|
|
|
|
|
Just fetch the data again. Which report-viewer? The one from MS? Does that even support changing data whilst viewing?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
hi. thanks you! i use reportview of MS, i use dataset to bind into reportviewer. i need only close the form and open again that can refresh new dataset but it is not best for user, can you help me rebind dataset directly in this form, maybe refresh by another button such as refresh button. Thanks
|
|
|
|
|
Again, does the report-control support that scenario?
Do you have a small application to test that? If not, I suggest you start there. "Not closing" the form could be done by clearing all the controls on it and creating them again; would still mean that the form is repainting and flashing.
A report is usually a "print-preview", and that is not something that is usually updated on the fly, as it needs to be rendered anew by the printer-driver.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
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!
|
|
|
|
|