我在Sharepoint 2010 Web部件项目的*WebPartUserControl.ascx文件中有这个HTML:
<html>
<h1>Pre- and Post Travel Form Help</h1>
<div id="preTravel" name="preTravel">
<h2>Pre Travel</h2>
<img id="imgPreTravel" name="imgPreTravel" src="/_layouts/images/TravelFormHelp/posttravelpdf.png" alt="pre Travel image" height="275" width="350">
</div>
<div id="postTravel" name="postTravel">
<h2>Post Travel</h2>
<img id="imgPostTravel" name="imgPostTravel" src="/_layouts/images/TravelFormHelp/posttravelpdf.png" alt="post Travel image" height="275" width="350">
</div>
</html>
Run Code Online (Sandbox Code Playgroud)
...而这个jQuery:
<script type="text/javascript">
$('imgPostTravel').click(function () {
alert('you clicked the post Travel image');
this.addClass('hide');
});
</script>
Run Code Online (Sandbox Code Playgroud)
相关的CSS是:
.hide {
visibility: hidden;
display: none;
}
Run Code Online (Sandbox Code Playgroud)
当我点击'imgPostTravel'时,没有任何反应 - 不仅图像不会消失,我也看不到警报.
作为一个完整性检查(我可能会失败),我在这里和那里尝试了类似的代码,点击处理程序也没有解雇 - 必须有一些根本不管我正在做什么,但我不能看见...
我需要让用户选择一个月和一年。通常,他们会想要最后一个月(例如,如果是 2015 年 12 月 18 日,他们通常会选择 2015 年 11 月)。所以我希望这些值是组合框中预先选择的值。
我怎样才能做到这一点(在 C# 中),并且一旦越过卢比孔河(幼发拉底河?)到 2016 年 1 月,它也将是“2015 年 12 月”?
我也希望它不会增加2016,直到它是2016(依此类推,随着岁月的流逝),并开始从预定一年(不0年或1970年或类似的东西,不一定)。
我有这个TSQL:
SELECT Invd.Unit, M.MemberName, Invd.Description
FROM InvoiceDetail Invd
LEFT JOIN Members M on Invd.MemberNo = M.MemberNo
GROUP BY Invd.Unit, M.MemberName, Invd.Description
Run Code Online (Sandbox Code Playgroud)
...对于返回的90%(除了令人痛苦的慢)之外效果很好,但大约10%的返回记录包含Invd.Unit或M.MemberName或两者的Null值.
我只想要任何地方没有Null的记录.我需要做什么来防止在结果集中返回包含任何空值的记录?
我不想使用这样的东西:
SELECT IsNull(Invd.Unit, 'no Unit'), IsNull(M.MemberName, 'no Member Name'), Invd.Description
. . .
Run Code Online (Sandbox Code Playgroud)
我根本不想要那些记录; 我只想要这三个字段的唯一/不同组合(不包括任何一个中的空值 - 数据仅在存在所有三个值的情况下才有用).
用户提供"从"和"到"月份以生成报告(例如,从1个月回到13个月;如果他们在2016年2月15日选择此项,则返回值为2015年1月1日, 2016年1月1日).
我想允许用户从"from"或"to"组合框中选择最远的后面或最近的月份.我只想用最远的时间作为"从"和最接近的时间作为"to"以避免他们的混淆(他们可以做任何看起来很自然的事情).
所以我从这段代码开始:
int fromMonths = Convert.ToInt32(comboBoxProduceUsageFrom.Text);
DateTime RptParamsNominalFromDate = ReportSchedulerConstsAndUtils.SubtractMonthsFrom(fromMonths, nextGenerateAndSendDate);
int toMonths = Convert.ToInt32(comboBoxProduceUsageTo.Text);
DateTime RptParamsNominalToDate = ReportSchedulerConstsAndUtils.SubtractMonthsFrom(toMonths, nextGenerateAndSendDate);
Run Code Online (Sandbox Code Playgroud)
..然后我想将"从"日期设置为最晚的时间,并将"到"设置为更接近时间.我第一次尝试这个:
DateTime RptParamsFromDate;
DateTime RptParamsToDate;
if (RptParamsNominalFromDate > RptParamsNominalToDate)
{
RptParamsFromDate = RptParamsNominalToDate;
RptParamsToDate = RptParamsNominalFromDate;
}
else if (RptParamsNominalToDate > RptParamsNominalFromDate)
{
RptParamsFromDate = RptParamsNominalFromDate;
RptParamsToDate = RptParamsNominalToDate;
}
Run Code Online (Sandbox Code Playgroud)
...但是失败了," 使用未分配的局部变量'RptParamsFromDate'"(和"RptParamsToDate "的错误相同).
所以我尝试给DateTimes一个值/非值,如下所示:
DateTime RptParamsFromDate = null;
DateTime RptParamsToDate = null;
Run Code Online (Sandbox Code Playgroud)
...但是这给了我," 无法将null转换为'System.DateTime',因为它是一个不可为空的值类型 "
所以我再次设置动作并尝试对DateTimes进行nullablizing:
DateTime? RptParamsFromDate = null;
DateTime? RptParamsToDate = null;
Run Code Online (Sandbox Code Playgroud)
...但后来我得到," 'System.Nullable'不包含'ToLongDateString'的定义,并且没有扩展方法'ToLongDateString'接受类型'System.Nullable'的第一个参数'(你是否错过了使用指令或汇编参考?) …
我有这个代码来比较两个DateTime值:
DateTime currentWeek = Convert.ToDateTime(comboBoxWeekToSchedule.SelectedValue);
List<Student> thisWeeksStudents = (List<Student>)studentsList.Where(i => i.WeekOfLastAssignment.Equals(currentWeek));
Run Code Online (Sandbox Code Playgroud)
学生班与本次讨论最相关的成员是:
public DateTime WeekOfLastAssignment { get; set; }
Run Code Online (Sandbox Code Playgroud)
在此之后:
DateTime currentWeek = Convert.ToDateTime(comboBoxWeekToSchedule.SelectedValue);
Run Code Online (Sandbox Code Playgroud)
...执行,"currentWeek"的值是"2/22/2016 12:00:00 AM "
我试图过滤"WeekOfLastAssignment"元素等于"currentWeek"值的元素的通用列表; 这些(如调试器中所示)表示为" {8/14/2015 10:52:55 PM} "
IOW,它们似乎具有相同的格式(除了包装"{"和"}",我怀疑是问题).
我可以看到可能没有确切的匹配,因为组合框值总是有午夜作为他们的时间元素.所以也许我将不得不执行一个"LIKE%"类型的LINQ操作("包含"可能?),但第一个问题是越过这个无效的强制转换.
这是我尝试分配到名为"thisWeeksStudents"的通用列表后得到的错误的准确文本:
System.InvalidCastException was unhandled
HResult=-2147467262
Message=Unable to cast object of type 'WhereListIterator`1[AYttFMScheduler.Student]' to type 'System.Collections.Generic.List`1[AYttFMScheduler.Student]'.
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来纠正这种情况?
如果它可能是相关的,comboBoxWeekToSchedule填充了如下值:
private void PopulateComboBoxWithSchedulableWeeks()
{
int WEEKS_TO_OFFER_COUNT = 13;
List<String> schedulableWeeks = AYttFMConstsAndUtils.GetWeekBeginnings(WEEKS_TO_OFFER_COUNT).ToList();
BindingSource bs = new BindingSource();
bs.DataSource = schedulableWeeks;
comboBoxWeekToSchedule.DataSource = bs;
}
public …Run Code Online (Sandbox Code Playgroud) 我有很多内部定义的方法,如下所示:
internal static string GetAJobShaNaNaNaShaNaNaNaNaNa(string Silhouettes)
Run Code Online (Sandbox Code Playgroud)
但是,为了从添加到解决方案的测试项目中调用它们,我需要将其访问修饰符从内部更改为公共.
是否有一种非常繁琐的方法可以将这些方法公开用于测试,但仍然是内部的?
我有一个看起来像这样的水平条形图:
......但是当我将它悬停时,就像这样:
我试图阻止"悬停数据"显示如下:
var priceBarChart = new Chart(ctxBarChart, {
type: 'horizontalBar',
showTooltips: false,
data: barChartData,
options: optionsBar
});
Run Code Online (Sandbox Code Playgroud)
......并且像这样:
var optionsBar = {
scales: {
xAxes: [
{
stacked: true
}
],
yAxes: [
{
stacked: true
}
]
},
showTooltips: false
};
Run Code Online (Sandbox Code Playgroud)
...但是都不起作用 - 无论如何都会显示碾压的尖端.
如何防止悬停数据显示在Chart.JS中?
我有这段代码来尝试设置单元格的背景颜色(除其他外):
private static readonly Color CONTRACT_ITEM_COLOR = Color.FromArgb(255, 255, 204);
. . .
cell = pivotTableSheet.Cells[4, 0];
cell.PutValue(AnnualContractProductsLabel);
style = cell.GetStyle();
style.HorizontalAlignment = TextAlignmentType.Center;
style.VerticalAlignment = TextAlignmentType.Center;
style.Font.IsBold = true;
pivotTableSheet.Cells.SetRowHeight(4, 25);
style.BackgroundColor = CONTRACT_ITEM_COLOR;
pivotTableSheet.Cells[4, 0].SetStyle(style);
Run Code Online (Sandbox Code Playgroud)
水平和垂直对齐的设置有效,粗体和高度也有效 - 除了颜色之外的所有内容:
还需要什么?我什至尝试将 ForegroundColor 和背景颜色设置为:
style.ForegroundColor = Color.Red;
style.BackgroundColor = Color.Blue;
Run Code Online (Sandbox Code Playgroud)
...但两者都没有任何作用 - 单元格看起来仍然与上面的屏幕截图完全相同。
我有这个代码来比较两个控件标签值的值:
Protected Function GetLabelTextForTag(tagVal As String) As String
Dim CoName As String = ""
For Each cntrl As Control In Me.Controls
If TypeOf cntrl Is Label Then
If DirectCast(cntrl, Label).Tag Is tagVal Then
CoName = DirectCast(cntrl, Label).Text
Exit For
End If
End If
Next
Return CoName
End Function
Run Code Online (Sandbox Code Playgroud)
即使我到达这条线,但是:
If DirectCast(cntrl, Label).Tag Is tagVal Then
Run Code Online (Sandbox Code Playgroud)
...和Tag与tagVal("1")相同,未到达下一行 - "1"与"1"不同
不熟悉VB,我想也许是"问题".但是,我之所以使用"IS"开头的原因是因为当我第一次尝试这个时:
If DirectCast(cntrl, Label).Tag = tagVal Then
Run Code Online (Sandbox Code Playgroud)
...我得到了," 错误1选项Strict On禁止运算符'='的Object类型的操作数.使用'Is'运算符来测试对象标识. "
该函数由按钮单击的事件处理程序调用:
Private Sub Button1_Click( sender As Object, e As EventArgs) Handles …Run Code Online (Sandbox Code Playgroud) 服务器资源管理器表创建工具会自动向您创建的每个表添加一个 Id 列:
但是我注意到,虽然它确实设置为 PRIMARY KEY,但它并没有指定它是 AutoInc 列。
所以我直接将其添加到 T-SQL 选项卡中,但这被认为是语法错误:
它是否已经是一家汽车公司,我不需要这样指定它,或者如果我确实需要,我做错了什么?
c# ×4
datetime ×2
jquery ×2
t-sql ×2
.net ×1
aspose ×1
aspose-cells ×1
chart.js ×1
chart.js2 ×1
colors ×1
combobox ×1
css ×1
date ×1
excel ×1
generic-list ×1
hover ×1
html ×1
internal ×1
isnull ×1
linq ×1
null ×1
nullable ×1
sql ×1
sql-server ×1
test-project ×1
tooltip ×1
vb.net ×1
winforms ×1