我有一个对象数组,我想比较特定对象属性上的这些对象.这是我的数组:
var myArray = [
{"ID": 1, "Cost": 200},
{"ID": 2, "Cost": 1000},
{"ID": 3, "Cost": 50},
{"ID": 4, "Cost": 500}
]
Run Code Online (Sandbox Code Playgroud)
我想专门针对"成本",并获得最小值和最大值.我意识到我可以抓住成本值并将它们推送到javascript数组中,然后运行Fast JavaScript Max/Min.
但是,通过绕过中间的数组步骤并直接关闭对象属性(在本例中为"Cost"),有更简单的方法吗?
我有兴趣为ReportViewer中的报表创建自定义导出到Excel选项.这主要是因为我想要pdf被剥夺,我通过以下方式做到了:
ReportViewer1.ShowExportControls = false;
Run Code Online (Sandbox Code Playgroud)
由于无法在ReportViewer中禁用任何特定的导出功能(例如pdf但不是excel).这是我(稍微)修改后的代码.理想情况下,我想要类似于以前的导出选项,我可以将文件保存到我想要的任何位置.
编辑:代码工作,但我怎么需要修改文件流,以便不是让文件自动保存,我可以提示用户,以便他们可以保存到他们想要的任何位置?
protected void btnExportExcel_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = ReportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.xls",
FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
Run Code Online (Sandbox Code Playgroud) 我<p>在aspx页面上有一些分散的元素,我使用类似的类将它组合在一起 -<p class="instructions" runat="server">
在我的代码背后,使用C#我想隐藏这些元素,使用类似的东西
instructions.Visible = false;
但是我知道如果我使用ID,我只能在代码隐藏中执行此操作,但这会导致无效的HTML/CSS选择器,因为您不能拥有具有相同ID名称的多个ID ...
或者是否有另一种方法来分组控件,如果不是按类?
编辑:我不能使用JavaScript,因此选择必须在C#codebehind/ASP.NET中完成
我遇到了一个IE8问题,我最初认为是由于缺乏对indexOf()属性的IE8支持,但似乎并非如此.我通过原型实现了indexOf()但仍然保持错误消息 -
对象不支持属性或方法'filter'
我的代码是passArray.filter行的错误输出.
function consolidatedFilters(passedArray, passedFilter, passedFilterType)
if (passedFilterType == "specialty")
{
var filteredArray = passedArray.filter(
function(el)
{
for (i in passedFilter)
{
if (passedFilter[i] == el[8])
{
return true;
}
}
return false
}
);
return filteredArray;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Excel从SQL数据库中提取数据.我使用了另一个SO问题的代码,它运行正常.现在我想从实际表中除了表中的列名.我发现我可以使用For Each fld循环获取名称.然而,仍然存在在Excel中连续水平填充它们的问题,因为列的数量可能会改变 - 所以我认为我需要另一个对于每个循环也或类似的东西.
Sub GetDataFromADO()
'Declare variables'
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;User ID=abc;Password=abc;"
objMyConn.Open
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "select * from myTable"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute
'Loop Names'
' WHAT TO DO HERE????'
'Open Recordset'
Set objMyRecordset.ActiveConnection = objMyConn
objMyRecordset.Open objMyCmd
'Copy Data to Excel'
ActiveSheet.Range("A1").CopyFromRecordset (objMyRecordset)
End Sub
Run Code Online (Sandbox Code Playgroud) 我有一系列人的名字以及他们的语言知识.我想要做的是将过滤器传递到语言列并过滤掉任何不匹配的结果.
这是示例数组
var myArray = [["Steppen", "Spanish Polish"],
["Wolf", "Spanish Polish Tagalog"],
["Amanda", "Spanish"],
["Ada", "Polish"],
["Rhonda", "Spanish Tagalog"]];
Run Code Online (Sandbox Code Playgroud)
传入过滤器,它可以是一种语言,也可以是多种语言.即使过滤器中的一种语言匹配 - 也应该返回结果.因此,例如,"塔加拉族语"的过滤器应该返回 - Wolf和Rhonda."西班牙语波兰语"的过滤器应该归还给所有人 - 西班牙语或波兰语的匹配.
我写了过滤器功能,但由于某种原因它被卡住了,当我通过过滤器"Tagalog"它只迭代到阵列中的第二个单元格(西班牙语波兰语塔加拉族语)并重复多次而不是前进.
我做错了什么,我应该以不同的方式迭代吗?
var userPassedFilter = new Array();
userPassedFilter[0] = "Tagalog";
newArray = consolidatedFilters(myArray, userPassedFilter);
console.log(newArray);
function consolidatedFilters(passedArray, passedFilter)
{
var filteredArray = passedArray.filter(
function(el)
{
for (var i = 0; i < passedArray.length; i++)
{
console.log("i is " + i);
for (var j in passedFilter)
{
console.log("Passed Filter j " + passedFilter[j]);
console.log("Passed Array …Run Code Online (Sandbox Code Playgroud) 我在ASP.NET 3.5/C#中使用List来过滤特定月份的现有日期列表(总共约20个).因此,如果用户选择2010年(ddlFromYear.SelectedItem.Text == 2010),那么返回的列表将仅包含8个月,因为我们只到8月份.
我的问题是 - 如何将DateTime输出为int,甚至最好输出一个月,例如"August".这样,当我绑定另一个DropDown时,我可以列出所有月份(1月,2月......),正如我所提到的那样,将由年决定(2009年,2010年......)
int yearSelected;
bool success = Int32.TryParse(ddlFromYear.SelectedItem.Text, out yearSelected);
if (success)
{
List<DateTime> datesSelected = new List<DateTime>();
datesSelected =
(from n in dates
where n.Year.Equals(yearSelected)
select n).ToList();
dateMonths.Sort();
ddlFromMonth.Items.Clear();
ddlFromMonth.DataSource = datesSelected;
ddlFromMonth.DataBind();
}
Run Code Online (Sandbox Code Playgroud) 我有一个审计表设置,它基本上反映了我的一个表以及日期,用户和命令类型.这是它的样子:
AuditID UserID Individual modtype user audit_performed
1 1239 Day Meff INSERT dbo 2010-11-04 14:50:56.357
2 2334 Dasdf fdlla INSERT dbo 2010-11-04 14:51:07.980
3 3324 Dasdf fdla DELETE dbo 2010-11-04 14:51:11.130
4 5009 Day Meffasdf UPDATE dbo 2010-11-04 14:51:12.777
Run Code Online (Sandbox Code Playgroud)
由于这些类型的表可以很快变大 - 我正在考虑对某些旧行进行某种自动删除.所以,例如,如果我有3个月的历史 - 如果我可以删除第一个月同时保留最后两个月.所有这一切都必须是自动的 - 我想一旦某个日期被点击,查询就会激活并删除带有审计数据的最早月份.做这个的最好方式是什么?
我顺便使用SQL Server 2005.
我在MSSQL中有一个表,其中两列看起来像下面的示例.我想弄清楚会话时间内所有小时的行数.
Session Time Duration
2011-06-09 23:47:07 00:01:51
2011-06-09 23:54:45 00:12:37
2011-06-09 23:41:17 00:21:57
2011-06-09 23:41:54 00:34:35
2011-06-09 22:47:51 00:01:20
2011-06-09 22:56:04 00:09:33
2011-06-09 22:55:40 00:11:08
2011-06-09 22:47:30 00:05:06
Run Code Online (Sandbox Code Playgroud)
最后,结果看起来像这样:
Session Time Number of Records
2011-06-09 23:00:00 4
2011-06-09 22:00:00 4
Run Code Online (Sandbox Code Playgroud) 我正在使用C#和ASP.NET 3.5.基本上我正在从数据集中检索一列数据并将其放入一个列表中,如下所示:
List<String> dates = new List<String>();
foreach (DataRow rowMonth in myDS.Tables[0].Rows)
{
string ListedMonthYear = (string)rowMonth[0];
dates.Add(ListedMonthYear);
}
Run Code Online (Sandbox Code Playgroud)
返回的值是:
Apr-10
Mar-10
Feb-10
Jan-10
Dec-09
Nov-09
Oct-09
Run Code Online (Sandbox Code Playgroud)
我有兴趣将这些值分成两个列表,并希望将来对它们执行操作.
Apr | 2010
Mar | 2010
Feb | 2010
Jan | 2010
Dec | 2009
Nov | 2009
Oct | 2009
Run Code Online (Sandbox Code Playgroud)
这样做的最佳方法是什么?
编辑:rowMonth只是包含所有日期相关值的数据行 - 月 - 年,月开始,月结,月活动或非活动.基本上我只是试图提取第一列的月份来进行操作并忽略其余部分.
背景:我目前有一个Web Forms,ASP.NET 3.5/C#应用程序,我有兴趣转换为MVC 2.这是一个相对较小的应用程序,所以练习不应该花太长时间.应用程序所做的两个主要功能是允许用户
1)查看并输入他们的数据 - 指标
2)查看在更高级别聚合的此数据的输出报告.
第二点是我关注的问题,因为我对MVC的第一印象是大多数报告工具都无法使用它.我目前正在使用ReportViewer 2)但我在这里和其他网站上阅读,配置它以使用MVC是一个痛苦.
我可以在MVC 2中使用任何其他类型的报告功能吗?是否有一些"开箱即用"的工作?
或者根据您使用MVC 2的经验,将您自己的报告组合起来会更容易吗?我的要求是创建一个类似于ReportViewer的Matrix样式的报告,其中包含一些合并的单元格和两个级别的向下钻取.不知道从头开始是不是太复杂了.
编辑:如果你知道任何其他与MVC besdies ReportViewer一起使用的报告附加组件,可以获得奖励.
简单的问题,因为jQuery .live()的1.7版本已经被弃用,而不是.on(); 但.on()似乎不适用于通过JavaScript呈现并加载到DOM中的元素.所以我的问题是,应该仍然使用.live()或.on()如何捕获这些新生成的元素?
举个例子,这是我的代码:
$("#listitem").append("<li id='removeitem'>" +
formdata + ' <a href="#">Remove</a></li>');
Run Code Online (Sandbox Code Playgroud)
当我尝试通过.on()操作这个元素时 - 结果什么都没有,而.live()能够抓住这个元素.
$("#removeitem").live("click", function(event) { alert($(this).text()); });
Run Code Online (Sandbox Code Playgroud) asp.net ×3
c# ×3
javascript ×3
arrays ×2
excel ×2
excel-vba ×2
list ×2
reportviewer ×2
sql-server ×2
t-sql ×2
vba ×2
.net ×1
asp.net-mvc ×1
compare ×1
excel-2003 ×1
filter ×1
generics ×1
jquery ×1
jquery-on ×1
linq ×1
report ×1
reporting ×1
select ×1
selection ×1
sql ×1