我有一个包含DataGridView,BindingSource,DataTable和SqlDataAdapter的表单。我按如下所示填充网格和数据绑定:
private BindingSource bindingSource = new BindingSource();
private DataTable table = new DataTable();
private SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT * FROM table ORDER BY id ASC;", ClassSql.SqlConn());
private void LoadData()
{
table.Clear();
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = bindingSource;
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource.DataSource = table;
}
Run Code Online (Sandbox Code Playgroud)
然后,用户可以对数据进行更改,然后分别单击保存或取消按钮来提交更改或放弃更改。
private void btnSave_Click(object sender, EventArgs e)
{
// save everything to the displays table
dataAdapter.Update(table);
}
private void btnCancel_Click(object sender, EventArgs e)
{
// alert user if unsaved …Run Code Online (Sandbox Code Playgroud) 我正在寻找这个问题的Javascript解决方案:
我有一个XML文档,它通过典型的AJAX方法加载:
var xml = http.responseXML;
请考虑以下示例xml片段:
<main>
<primary>
<enabled>true</enabled>
</primary>
<secondary>
<enabled>true</enabled>
</secondary>
</main>
Run Code Online (Sandbox Code Playgroud)
我想通过指定路径获取节点的值,如下所示:
var second_enabled = getNodeValueByPath('main/secondary/enabled', xml);
Run Code Online (Sandbox Code Playgroud)
做这样的事情我找不到任何简洁的方法.我似乎被迫在使用之后迭代节点集合getElementsByTagName等.
我将如何构造该方法,getNodeValueByPath或者在Javascript中是否有一些允许这样做的构造?
我不熟悉Javascript.
编辑:这是一个示例,显示我尝试使用XPath及其失败的方式:
XML:
<?xml version="1.0" ?>
<main xmlns="example.com">
<primary>
<enabled>true</enabled>
</primary>
<secondary>
<enabled>false</enabled>
</secondary>
</main>
Run Code Online (Sandbox Code Playgroud)
JavaScript :(这些只是相关的功能)
function useHttpResponse()
{
if (http.readyState == 4)
{
if(http.status == 200)
{
var xml = http.responseXML;
var evalue = getXMLValueByPath('/main/secondary/enabled', xml);
alert(evalue);
}
}
}
function getXMLValueByPath(nodepath, xml)
{
var result = xml.evaluate(nodepath, xml, …Run Code Online (Sandbox Code Playgroud) 我正在使用C#winforms项目中的"不安全"代码创建(然后更改)位图.这是每30ms左右完成的.我遇到的问题是"噪声"或随机像素有时会出现在结果位图中,我没有特别改变任何东西.
例如,我创建了一个100x100的位图.使用BitmapData和LockBits,我遍历位图并将某些像素更改为特定颜色.然后我UnlockBits设置一个图片框来使用图像.我设置的所有像素都是正确的,但我没有特别设置的像素有时看似是随机颜色.
如果我设置每个像素,噪音就会消失.但是,出于性能原因,我宁愿只设置最小数量.
任何人都可以解释为什么这样做?
这是一些示例代码:
// Create new output bitmap
Bitmap Output_Bitmap = new Bitmap(100, 100);
// Lock the output bitmap's bits
Rectangle Output_Rectangle = new Rectangle(
0,
0,
Output_Bitmap.Width,
Output_Bitmap.Height);
BitmapData Output_Data = Output_Bitmap.LockBits(
Output_Rectangle,
ImageLockMode.WriteOnly,
PixelFormat.Format32bppRgb);
const int PixelSize = 4;
unsafe
{
for (int y = 0; y < Output_Bitmap.Height; y++)
{
for (int x = 0; x < Output_Bitmap.Width/2; x++)
{
Byte* Output_Row = (Byte*)Output_Data.Scan0 + y * Output_Data.Stride;
Output_Row[(x …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我需要下载一堆网页,最好尽快.我现在这样做的方式是我有多个拥有自己的线程(100)System.Net.HttpWebRequest.这种作品,但我没有得到我想要的表现.目前我有600+ Mb/s的强大连接,而且最多只能使用10%(峰值).我想我的策略存在缺陷,但我无法找到其他任何好办法.
另外:如果使用HttpWebRequest不是下载网页的好方法,请说明:)代码已经从java半自动转换.
谢谢 :)
更新:
public String getPage(String link){
myURL = new System.Uri(link);
myHttpConn = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(myURL);
myStreamReader = new System.IO.StreamReader(new System.IO.StreamReader(myHttpConn.GetResponse().GetResponseStream(),
System.Text.Encoding.Default).BaseStream,
new System.IO.StreamReader(myHttpConn.GetResponse().GetResponseStream(),
System.Text.Encoding.Default).CurrentEncoding);
System.Text.StringBuilder buffer = new System.Text.StringBuilder();
//myLineBuff is a String
while ((myLineBuff = myStreamReader.ReadLine()) != null)
{
buffer.Append(myLineBuff);
}
return buffer.toString();
}
Run Code Online (Sandbox Code Playgroud) 我在C#Windows窗体中创建一个简单的表单并遇到一种常见的情况,一个控件可以改变另一个控件的状态,但两个控件的事件都会触发其他一些方法.
例如,考虑a Checkbox和NumericUpDown其中任何一个的状态或值应触发重绘的内容.将NumericUpDown取决于Checkbox它可能被禁用或忽略,除非意义Checkbox被选中.
但是,用户可以方便地更改NumericUpDown值,并且Checkbox如果尚未自动检查则自动进行检查.
所以这里是有问题的方法:
private void chkState_CheckedChanged(object sender, EventArgs e)
{
RedrawStuff();
}
private void numStateValue_ValueChanged(object sender, EventArgs e)
{
if (!chkState.Checked)
chkState.Checked = true;
RedrawStuff();
}
Run Code Online (Sandbox Code Playgroud)
问题当然是改变NumericUpDown价值导致RedrawStuff()两次火灾.
我的解决方法是引入一个布尔值,我可以有效地否定这种行为,但有时它会变得混乱:
bool _preventStateChange;
private void chkState_CheckedChanged(object sender, EventArgs e)
{
if (_preventStateChange)
return;
RedrawStuff();
}
private void numStateValue_ValueChanged(object sender, EventArgs e)
{
_preventStateChange = true;
if (!chkState.Checked)
chkState.Checked = true;
RedrawStuff();
_preventStateChange = false; …Run Code Online (Sandbox Code Playgroud) 可能的重复:
什么是好的 .NET 分析器?
有没有不错的 C# 分析器?
我经常想分析我们团队项目中的代码以比较速度和效率。但是,根据 Microsoft 的性能分析初学者指南,Visual Studio 性能向导不是我们使用的 Visual Studio 2010 Professional 的一部分。
鉴于此限制,似乎需要第三方应用程序。我怀疑我能否说服我的老板在分析应用程序上花很多钱。我有哪些选择,以及如何使用这样的工具?
编辑
感谢您提供有关哪些分析器可用的其他问题的链接。很有用!我正在编辑这个问题,以更多地关注如何使用这些分析器。有什么显着差异吗?在可用性方面?
我正在尝试使用WebClient.UploadFile将文件上传到HTTP URL .对于1M,2M等小文件,上传成功.但是对于像12M这样的大文件,我得到了这个例外:
The request was aborted: The request was canceled.
Run Code Online (Sandbox Code Playgroud)
有没有人以前遇到过这个问题,你能分享一下解决方案吗?
我在MySQL涉及三个表一个多一对多表关系tickets,ticket_solutions和solutions.(票证可能有多个解决方案,解决方案适用于多张票证.)
这是表结构,简化:
tickets ticket_solutions solutions
----- ----- -----
id ticket_id id
solution_id solution
Run Code Online (Sandbox Code Playgroud)
(在这个例子中,所有的字段都INT,除了solutions.solution它是VARCHAR.)由于一些门票都没有完成,他们可能没有任何解决方案.
我写了以下查询:
SELECT t.id, GROUP_CONCAT(DISTINCT sol.solution SEPARATOR ', ') solutions
FROM tickets t
LEFT JOIN ticket_solutions tsol ON (tsol.ticket_id = t.id)
LEFT JOIN solutions sol ON (tsol.solution_id = sol.id)
GROUP BY t.id DESC;
Run Code Online (Sandbox Code Playgroud)
我的问题在于第二个问题LEFT JOIN.在ticket_solutions给定票证的链接器表()中存在条目的任何情况下,总会有匹配的记录solutions.但是,如果我尝试使用INNER JOIN,我不再获得缺乏解决方案的门票.
根据我的想法,NULL值发生的唯一时间是tickets链接器表和链接器表之间的关系.(没有任何解决方案的门票.)
我必须LEFT JOIN在链接器表之间使用, …
我将信息显示为ThreeState启用的复选框,并希望以最简单的方式使用可空的布尔值.
目前我正在使用嵌套的三元表达式; 但有更明确的方式吗?
bool? foo = null;
checkBox1.CheckState = foo.HasValue ?
(foo == true ? CheckState.Checked : CheckState.Unchecked) :
CheckState.Indeterminate;
Run Code Online (Sandbox Code Playgroud)
*请注意,复选框和表单是只读的.
从Apache错误日志:
[2012年12月3日14:58:01] [错误] [客户端xxxx] PHP致命错误:允许内存大小为16777216字节耗尽(尝试分配884830字节)在第0行的未知中,参考:https:// www.使用domain.tld /引荐
为什么说"0号线未知"?为什么不"在xx行上的Filename.php"?